Memilih bilangan yang bilangan yang nilainya terbesar 7 7 5 7 5 A B cin cout dapat ditulis setelah...
Transcript of Memilih bilangan yang bilangan yang nilainya terbesar 7 7 5 7 5 A B cin cout dapat ditulis setelah...
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 cout
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
MENCARI YANG 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
MENCARI YANG 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 / 2
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
5 A
9 B
14
4
C
E
C = A + B
E = abs( A – B )
9
G G = ( C+E ) / 2
terbesar
disingkat
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 A
9 B
14
4
C
E
C = A + B
E = abs( A – B )
9
G G = ( C+E ) / 2
terbesar
5 A
9 B
9
G G = ( (A+B) + abs( A – B ) ) / 2
terbesar
disingkat
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
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 / 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 A
9 B
14
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
3
5 A
9 B
9
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;
}
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
(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 instruction
Flowchart Bentuk Umum - 1
biasa disebut : Bentuk IF-THEN
cond
- - - - - -
statements-
true
- - - -
next instruction
TRUE
Cara-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 di
next-instruction
if ( cond )
{ - - - - -
}
- - -
Statements
true
next
instruction
Flowchart
cond
- - - - - -
- - - -
TRUE cond
- - - - - -
- - - -
TRUE
Penulisan PROGRAM
Terikat aturan / ketentuan
Penggambaran FLOWCHART
bebas
if ( cond )
{ - - - - -
}
else
{ - - - - -
}
- - -
statements-true
statements-false
next instruction
Flowchart
Bentuk Umum - 2
biasa disebut : Bentuk IF-THEN-ELSE
cond
- - - - - -
- - - - - -
statements-
false
statements-
true
- - - -
next instruction
cond = condition
TRUE FALSE
Flowchart
Cara-Kerja
cond
- - - - - -
- - - - - -
statements-
false
statements-
true
- - - -
next instruction
TRUE FALSE
if ( cond )
{ - - - - - }
else
{ - - - - -
}
- - -
statements-true
statements-false
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
cond
- - - - - -
- - - - - -
false true
- - - -
next instruction
TRUE FALSE
Penulisan PROGRAM terikat aturan,
Penggambaran FLOWCHART bebas.
cond
- - - - - -
- - - - - -
false true
- - - -
next
instruction
TRUE
FALSE
Beberapa 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 cout
5
2
B
MISAL NILAI YANG DIINPUT ADALAH 5 DAN 2
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
Write
Algoritma 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
A B A B
Algoritma dalam Bahasa C++
if (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 << 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
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
SCREEN
cin
MEMORY
cout
5
2
5
MAX
Dengan cara menyimpan bilangan yang terbesar kedalam
sebuah variabel misal namanya MAX
Cara-3
input
input
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
END
A
B
MAX
B>MAX
False
True
MAX = B
MAX = A
TEKNIK
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
END
A
A
MAX
A>MAX
False
True
MAX = A
MAX = A
TEKNIK
DASAR #include <iostream.h>
void main()
{ int A, MAX;
cin >> A;
MAX = A
cin >> A;
if (A > MAX)
{ MAX = A; }
cout << MAX;
}
A MAX
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
bilangan yang nilainya terbesar.
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 A
17 5 17
KEYBOARD SCREEN
cin
MEMORY
cout
5
8
17
8
C
START
input
input
A
B
? False True
input C
A B C
Menggunakan 3 variabel
Apa 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 C
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 B
Pilih 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 > 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
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
END
A
B
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
#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); }
Karena setiap blok instruksi hanya terdiri dari satu
instruksi, maka program diatas dapat ditulis
menjadi :
A B C
Menggunakan 3 variabel