5
7
9
A
B
C
Menggunakan 3 variabel
5
9
7
7
5
9
7
9
5
9
5
7
9
7
5
Ada 6 kemungkinan
variasi ketiga buah
nilai
START
input
input
A B A > B False Trueinput
C True False A > C True False B > C 1 2 3 45
7
9
A B C1
Ada 4 titik , ,
dan
Untuk data diatas, maka flow akan menuju titik . . . ?
START
input
input
A B A > B False Trueinput
C True False A > C True False B > C 1 2 3 45
7
9
A B C 5 7 7 9Untuk data diatas, maka flow akan menuju
atau berakhir pada titik :
1
START
input
input
A B A > B False Trueinput
C True False A > C True False B > C 1 2 3 45
9
7
A B C2
Ada 4 titik , ,
dan
Untuk data diatas, maka flow akan menuju titik . . . ?
START
input
input
A B A > B False Trueinput
C True False A > C True False B > C 1 2 3 45
9
7
A B C 5 9 9 7Untuk data diatas, maka flow akan menuju
atau berakhir pada titik :
2
START
input
input
A B A > B False Trueinput
C True False A > C True False B > C 1 2 3 47
5
9
A B C3
Ada 4 titik , ,
dan
Untuk data diatas, maka flow akan menuju titik . . . ?
START
input
input
A B A > B False Trueinput
C True False A > C True False B > C 1 2 3 47
5
9
A B C 7 5 7 9Untuk data diatas, maka flow akan menuju
atau berakhir pada titik :
3
START
input
input
A B A > B False Trueinput
C True False A > C True False B > C 1 2 3 47
9
5
A B C4
Ada 4 titik , ,
dan
Untuk data diatas, maka flow akan menuju titik . . . ?
START
input
input
A B A > B False Trueinput
C True False A > C True False B > C 1 2 3 47
9
5
A B C 7 9 9 5Untuk data diatas, maka flow akan menuju
atau berakhir pada titik :
2
START
input
input
A B A > B False Trueinput
C True False A > C True False B > C 1 2 3 49
5
7
A B C5
Ada 4 titik , ,
dan
Untuk data diatas, maka flow akan menuju titik . . . ?
START
input
input
A B A > B False Trueinput
C True False A > C True False B > C 1 2 3 49
5
7
A B C 9 5 9 7Untuk data diatas, maka flow akan menuju
atau berakhir pada titik :
4
START
input
input
A B A > B False Trueinput
C True False A > C True False B > C 1 2 3 49
7
5
A B C6
Ada 4 titik , ,
dan
Untuk data diatas, maka flow akan menuju titik . . . ?
START
input
input
A B A > B False Trueinput
C True False A > C True False B > C 1 2 3 49
7
5
A B C 9 7 9 5Untuk data diatas, maka flow akan menuju
atau berakhir pada titik :
4
#include <iostream.h>
void main()
{
int A,B,C, MAX;
cin >> A >> B >> C;
MAX = A;
if (B > MAX)
MAX = B;
if (C > MAX)
MAX = C;
cout << MAX;
}
Cara-2
A
B
C
MAX
Menggunakan 4 variabel
STARTinput
print END A, B, C MAX B > MAX false true MAX = B MAX = A C > MAX false true MAX = C#include <iostream.h>
void main()
{
int A,B,C, MAX;
cin >> A;
MAX = A;
cin >> B;
if (B > MAX)
MAX = B;
cin >> C;
if (C > MAX)
MAX = C;
cout << MAX;
}
input
input
printf A B MAX B > MAX false true MAX = B MAX = A C > MAX false true MAX = Cinput
CCara-3
A
B
C
MAX
A
8
17
KEYBOARD SCREEN cin MEMORY cout5
17
8
17
MAXMenggunakan hanya 2 variabel. Variabel
A
khusus untuk menampung
input, dan variabel
MAX
khusus mencatat atau menyimpan nilai
terbesar.
#include <iostream.h>
void main()
{ int A, MAX;
cin >> A;
MAX = A;
cin >> A;
if (A > MAX)
MAX = A;
cin >> A;
if (A > MAX)
MAX = A;
cout << MAX;
}
input
scanf printf A A MAX A > MAX false true MAX = A MAX = A A > MAX false true MAX = Ainput
AAlgoritma ini nanti yang menjadi dasar algoritma pencarian bilangan terbesar atau terkecil dari sejumlah bilangan yang ada atau bilangan yang diinput.
#include <iostream.h>
void main()
{
int A,B,C;
cin >> A >> B >> C;
if (
A>B && A>C
) cout << A;
else
{ if (
B>A && B>C
) cout << B;
else
cout << C;
}
}
B A 17 517
KEYBOARD SCREEN cin MEMORY cout 5 17 8 8 CDengan menggunakan
Logical Operator AND (&&)
Menggunakan
multi conditions
dengan logical operator
AND
#include <iostream.h> void main()
{
int A,B,C;
cin >> A >> B >> C;
if (A>B && A>C) cout << A; else { if (B>A && B>C) cout << B; else cout << C; } }
Sebenarnya disini cukup
membanding-kan B dengan C karena bila
pemeriksaan pertama if (A>B && A>C) hasilnya FALSE
maka A sudah pasti bukan yang terbesar, tinggal B atau C yang terbesar
Hanya untuk keseragaman saja dibuat lagi if (B>A && B>C), dengan cara ini berpikirnya lebih mudah
START input print END A,B,C print print true true false A B C
A>B && A>C
B>A && B>C
B > C
Ini sebenarnya bisa diganti cukup dengan :
#include <iostream.h> void main()
{
int A,B,C;
cin >> A >> B >> C;
if (A>B && A>C)
cout << A; else { if (B>C) cout << B; else cout << C; } } START scanf printf END A,B,C printf printf true true false A B C
A>B && A>C
#include <iostream.h>
void main()
{
int A,B,C;
cin >> A >> B >> C;
if (
A>B && A>C
) cout << A;
if (
B>A && B>C
) cout << B;
if (
C>A && C>B
) cout << C;
}
Cara-6
Berpikir lebih praktis, tapi computer-time tidak efisien
B
A
5
17
17 KEYBOARD SCREENcin
MEMORYcout
5
8
17
8
C
#include <iostream.h>
void main()
{
int A,B,C;
cin >> A >> B >> C;
if (
A>B && A>C
)
cout << A;
if (
B>A && B>C
)
cout << B;
if (
C>A && C>B
)
cout << C;
}
START input print END A,B,C true A A>B && A>CB>A && B>C print true B C>A && C>B print true C
Soal
Susun program untuk menginput
4
(
empat
)
buah
bilangan
bulat,
(dianggap
ketiga
buah
bilangan
tersebut nilainya tidak sama satu
dengan
yang
lain),
kemudian
mencetak salah satu bilangan yang
nilainya
terbesar.
Jawab-11 Cara-1
Menggunakan 5 variabel, 4 variabel untuk input. 1 variabel
untuk MAX
Bila bilangan yang diinput adalah 5, 17, 8 dan 12, maka tentunya akan tercetak 17
B
A
17
5
17
KEYBOARD SCREENcin
MEMORYcout
5
17
8
12
8
C
12
D
FLOWCHA RT
Cara-1
START
START inputf print END A, B,C, D print A>B A>C A C A>D print print C>D D D print print B>C B C B>D print C>D D D print
5
17
8
12
A
B
C
D
#include <iostream.h> void main() { int A,B,C,D; cin >> A >> B >> C >> D; if(A > B) {if(A > C) {if(A > D) cout << A; else cout << D; } else {if(C > D) cout << C; else cout << D; } } else else {if (B > C) {if(B > D) cout << B; else cout << D; } else {if(C > D) cout << C; else cout << D; } } }
bersambung
#include <iostream.h>
void main()
{
int A,B,C,D;
cin >> A >> B >> C >> C;
if(A > B)
{if(A > C)
{if(A > D)
cout << A;
else
cout << D;
}
else
{if(C > D)
cout << C;
else
cout << D;
}
}
else
-
-
-
}
START input print A, B,C, D print A>B A>C A C A>D print print C>D D D- - - - - else {if (B > C) {if(B > D) cout << B; else cout << D; } else {if(C > D) cout << C; else cout << D ; } } } A>B print print B>C B C B>D print C>D D D prinf
else
Latihan
START input A, B,C, D A>B A>C A>D C>D B>C B>D C>D
5
8
12
17
A
B
C
D
1
2
3
4
5
6
7
8
Untuk nilai yang diinput seperti diatas,
Maka flow akan menuju nomor : ………
Soal
Susun program untuk menginput
100
(
seratus
)
buah
bilangan
bulat,
(dianggap
ketiga
buah
bilangan
tersebut nilainya tidak sama satu
dengan
yang
lain),
kemudian
mencetak salah satu bilangan yang
nilainya
terbesar.
Untuk dapat menyelesaikan soal ini,
perhatikan kembali soal no-11
Konsep berpikir :
Sebutkan nilai terbesar dari
beberapa nilai yang diperlihatkan
berikut ini :
Konsep :
Selalu menyimpan nilai terbesar
dalam ingatan
Jawab Soal-11 Cara-2
Menggunakan 2 variabel,
variabel : A khusus untuk menampung input
variabel : MAX khusus untuk menampung nilai terbesar
Bila bilangan yang diinput adalah 5, 17, 8 dan 12, maka tentunya akan tercetak 17
A
KEYBOARD SCREEN cin A MEMORY cout MAX5
17
8
12
17
MAX
17
A
5
KEYBOARD SCREEN MEMORY5
17
8
12
5
MAX
Cara ini hanya menggunakan 2 variabel.
Variabel A khusus menerima input
Variabel MAX khusus menampung nilai terbesar
57 9.
.
Input 5 ke A
A
17
KEYBOARD SCREEN MEMORY5
17
8
12
17
MAX
Cara ini hanya menggunakan 2 variabel.
Variabel A khusus menerima input
Variabel MAX khusus menampung nilai terbesar
58 9.
.
Input 17 ke A
A
8
KEYBOARD SCREEN MEMORY5
17
8
12
17
MAX
Cara ini hanya menggunakan 2 variabel.
Variabel A khusus menerima input
Variabel MAX khusus menampung nilai terbesar
59 9.
.
Input 8 ke A
A
12
KEYBOARD SCREEN MEMORY5
17
8
12
17
MAX
60 9..
Input 12 ke A
A
12
KEYBOARD SCREEN MEMORY5
17
8
12
17
MAX
61 9..
Data habis Cetak MAX
#include <iostream.h>
void main()
{ int A, MAX;
cin >> A;
MAX = A;
cin >> A;
if (A > MAX)
MAX = A;
cin >> A;
if (A > MAX)
MAX = A;
cin >> A;
if (A > MAX)
MAX = A;
cout << MAX;
}
input MAX=A input A>MAX MAX=A input A>MAX MAX=A A A input A>MAX MAX=A A print MAX#include <iostream.h>
void main()
{
int A, i, MAX;
cin >> A;
MAX = A;
for (i=1; i <=
3
; i=i+1)
{
cin >> A;
if (A > MAX)
MAX = A;
}
cout << MAX;
}
Menginput
4
buah bilangan
dan mencetak
salah satu
bilangan yang
nilainya terbesar
Instruksi
for
belum diterangkan penggunaannya
disini hanya dipinjam satu model penggunaan
#include <iopstream.h>
void main()
{ int A, i, MAX;
cin >> A;
MAX = A;
i = 1;
while (i <=
3
)
{
cin >> A;
if (A > MAX)
MAX = A;
i = i + 1;
}
cout << MAX;
}
Instruksi
while
belum diterangkan penggunaannya
disisni hanya dipinjam satu model penggunaan
65 9.
Soal
Susun program untuk menginput
100
(
seratus
)
buah
bilangan
bulat,
(dianggap
ketiga
buah
bilangan
tersebut nilainya tidak sama satu
dengan
yang
lain),
kemudian
mencetak salah satu bilangan yang
nilainya
terbesar.
#include <iostream.h>
void main()
{
int A, i, MAX;
cin >> A;
MAX = A;
for (i=1; i <=
...
; i=i+1)
{
cin >> A;
if (A > MAX)
MAX = A;
}
cout << MAX;
}
Menginput
100
buah bilangan
dan mencetak
yang terbesar
#include <iostream.h>
void main()
{
int A, i, MAX;
cin >> A;
MAX = A;
for (i=1; i <= 99; i=i+1)
{
cin >> A;
if (A > MAX)
MAX = A;
}
cout << MAX;
}
Menginput
100
buah bilangan
dan mencetak
yang terbesar
69 9.
Soal
Susun program untuk menginput
3
(
tiga
) buah bilangan bulat, (dianggap
ketiga buah bilangan tersebut nilainya
tidak sama satu dengan yang lain),
kemudian cetaklah ketiga bilangan
tersebut sedemikian rupa sehingga
tercetak
urut
mulai nilai terkecil
sampai dengan nilai terbesar.
Bila bilangan yang diinput adalah 5, 17 dan 8, maka tentunya akan
tercetak 5 8 17 atau tercetak : 5
8
17
5 8 17
KEYBOARD5
17
8
B
A
17
5
8
C
input
FLOWCHART
cara-1
START input A,B,C A < B AB BAAB
, A disebelah kiri B
maksudnya A lebih kecil dati B
BA
, B disebelah kiri A
maksudnya B lebih kecil dati A
B
FLOWCHART
cara-1
START input A,B,C A < B?
AB BAFLOWCHART
cara-1
START input A,B,C A < B B < C AB BAFLOWCHART
cara-1
START input A,B,C A < B B < C AB BA ABCinput A,B,C A,B,C A < B B < C AB ABC BA
input A,B,C A,B,C A < B B < C AB ABC C AB BA
C
AB
A
dan
C
kedua-duanya lebih kecil dari
B
,
tapi A dan C belum diketahui siapa yang
lebih besar atau yang lebih kecil
input A,B,C A,B,C A < B B < C
?
AB ABC C AB BAinput A,B,C A,B,C A < B B < C A < C AB ABC C AB BA
input A,B,C A,B,C A < B B < C A < C AB ABC C AB
?
BAinput A,B,C A,B,C A < B B < C A < C AB ABC C AB ACB BA
input A,B,C A,B,C A,C,B A < B B < C A < C AB ABC C AB ACB BA
input A,B,C A,B,C A,C,B A < B B < C A < C AB ABC C AB ACB
?
BAinput A,B,C A,B,C A,C,B A < B B < C A < C AB ABC C AB ACB CAB BA
input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACB CAB BA
input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACB CAB BA
input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACB CAB BA
input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACB CAB A < C BAC BA
input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACB CAB B,A,C A < C BAC BA
START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACB CAB B,A,C A < C BAC C BA BA
START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACB CAB B,A,C A < C
?
BAC C BA BASTART input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACB CAB B,A,C A < C B < C BAC C BA BA
START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACB CAB B,A,C A < C B < C BAC C BA BCA CBA BA
START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACB CAB B,A,C B,C,A A < C B < C BAC C BA BCA CBA BA
START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACB CAB B,A,C B,C,A A < C B < C C,A,B BAC C BA BCA CBA BA
START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACB CAB B,A,C B,C,A A < C B < C C,A,B BAC C BA BCA CBA BA
START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACB CAB B,A,C B,C,A A < C B < C C,A,B BAC C BA BCA CBA BA
START input A,B,C END A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACB CAB B,A,C B,C,A A < C B < C C,A,B BAC C BA BCA CBA BA
START input A,B,C END A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACB CAB B,A,C B,C,A A < C B < C C,A,B BAC C BA BCA CBA BA
START input A,B,C END A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACB CAB B,A,C B,C,A A < C B < C C,A,B BAC C BA BCA CBA BA #include <iostream.h> void main() { int A,B,C; cin >> A >> B >> C; if(A<B) { if(B<C) cout << A << “ “ << B << “ “ << C; else { if(A<C) cout << A << “ “ << C << “ “ << B; else cout << C << “ “ << A << “ “ << B; } } else { if(A<C) cout << B << “ “ << A << “ “ << C; else { if(B<C) cout << B << “ “ << C << “ “ << A; else cout << C << “ “ << B << “ “ << A; } } }
A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACB CAB if(A<B) { if(B<C) cout << A << “ “ << B << “ “ << C; else {if(A<C) cout << A << “ “ << C << “ “ << B; else cout << C << “ “ << A << “ “ << B; } } else
B,A,C B,C,A A < C B < C C,A,B BAC C BA BCA CBA } else { if(A<C) cout << B << “ “ << A << “ “ << C; else {if(B<C) cout << B << “ “ << C << “ “ << A; else cout << C << “ “ << B << “ “ << A; } } }
Soal-13
Susun program untuk menginput
tiga
(3) buah bilangan bulat (misal A, B dan C
dimana A<>B<>C<>A), kemudian mencetak
ketiga nilai tersebut urut dari kecil ke besar
.
START input print END A,B,C print A<B && B<C A,B,C print C,A,B A,C,B print print B,A,C print C,B,A B,C,A A<C&&C<B
B<A&&A<C
B<C&&C<A
#include <iostream.h> void main() {int A,B,C; cin >> A >> B >> C; if(A<B && B<C) cout << A << “ “ << B << “ “ << C; else {if(A<C && C<B) cout << A << “ “ << C << “ “ << B; else
{if(B<A && A<C)
cout << B << “ “ << A << “ “ << C; else
{if(B<C && C<A)
cout << B << “ “ << C << “ “ << A; else
{if(C<A && A<B)
cout << C << “ “ << A << “ “ << B; else cout << C << “ “ << B << “ “ << A; } } } } }