SlideShare una empresa de Scribd logo
1 de 199
Memilih bilangan
terbesar atau terkecil
dari dua buah bilangan
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
dapat ditulis setelah
dan konsep atau draf
secara manual sudah
dibuat
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
5A
9B
14
- 4 4
C
D E
C=A + B
D=A - B
E = abs(D)
18
F
F = C+E
9G
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
5A
9B
14
- 4 4
C
D E
C = A + B
D = A - B E = abs(D)
18
F
F = C+E
9G
G = F / 2
terbesar
5A
9B
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
5A
9B
14
4
C
E
C = A + B
E = abs( A – B )
9
G
G = ( C+E ) / 2
terbesar
5A
9B
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
1 G = ( (A+B) + abs( A – B ) ) / 2
Algoritma yang
ditulis dalam
suatu Bahasa
Pemrograman
disebut PROGRAM
5A
9B
14
- 4 4
C
D E
C = A + B
D = A - B E = abs(D)
18
F
F = C+E
9G
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
5A
9B
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
5A
9B
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;
}
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
(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
TRUEFALSE
Flowchart
Cara-Kerja
cond
-
-
-
-
-
-
-
-
-
-
-
-
statements-
false
statements-
true
-
-
-
-
next instruction
TRUEFALSE
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
-
-
-
-
-
-
-
-
-
-
-
-
falsetrue
-
-
-
-
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
25 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
AB
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
AB
A > B
False True
print
A BA B
Algoritma dalam Bahasa C++
FLOWCHART
Cara-1
START
cin
cin
cout
END
A
B
AB
A > B
False True
cout
A BA 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;
#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 ;
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 = AMAX = 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
BA
25
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
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 = 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
print
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.
BA
175 17
KEYBOARD
SCREEN
cin
MEMORY
cout
5
8
17
8
C
BA
517 17
KEYBOARD
SCREEN
cin
MEMORY
cout
5
8
17
8
C
BA
85 17
KEYBOARD
SCREEN
cin
MEMORY
cout
5
8
17
17
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 BA 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
TrueFalse
?
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
TrueFalse
?
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
terbesarA B A B
TrueFalse
?
A B C
Menggunakan 3 variabel
START
input
input
A
B
A > B
False True
input C
A BA B
TrueFalse
A > C
Mencetak
atau
masih
membandingkan
?
A B C
Menggunakan 3 variabel
START
input
input
A
B
A > B
False True
input C
A BA B
TrueFalse
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 BA B
TrueFalse
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 BA B
A B C A B C
atau
TrueFalse
A > C
A B C
Menggunakan 3 variabel
START
input
input
A
B
A > B
False True
input C
A BA B
TrueFalse
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 BA B
TrueFalse
A > C
print A
A B C
Menggunakan 3 variabel
START
input
input
A
B
A > B
False True
input C
A BA B
TrueFalse
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 BA B
TrueFalse
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 BA B
TrueFalse
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 BA B
A B C A B C
atau
TrueFalse
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 BA B
A B C A B C
atau
TrueFalse
A > C
print Aprint C
A B C
A B C
Menggunakan 3 variabel
START
input
input
A
B
A > B
False True
input C
A BA B
A B C A B C
atau
TrueFalse
A > C
print AB > CA 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 BA B
A B C A B C
atau
TrueFalse
A > C
print Aprint C
A B C
START
input
input
A
B
A > B
False True
input C
A BA B
A B C A B C
atau
TrueFalse
A > C
print Aprint C
A B C
START
input
input
A
B
A > B
False True
input C
A BA B
A B C A B C
atau
TrueFalse
A > C
print Aprint C
Mencetak
atau
masih
membandingkan
?
START
input
input
A
B
A > B
False True
input C
A BA B
A B C A B C
atau
TrueFalse
A > C
print Aprint C
TrueFalse
?
A > C
C > A
B > C
C > B
START
input
input
A
B
A > B
False True
input C
A BA B
A B C A B C
atau
TrueFalse
A > C
print Aprint C
TrueFalse
B > C
B yang besar,
jadi B yang
dibandingkan
dengan C
START
input
input
A
B
A > B
False True
input C
A BA B
A B C A B C
atau
TrueFalse
A > C
print Aprint C
TrueFalse
B > C
print B
START
input
input
A
B
A > B
False True
input C
A BA B
A B C A B C
atau
TrueFalse
A > C
print Aprint C
TrueFalse
B > C
print B
A B C
START
input
input
A
B
A > B
False True
input C
A BA B
A B C A B C
atau
TrueFalse
A > C
print Aprint C
TrueFalse
B > C
print Bprint C
A B C
START
input
input
A
B
A > B
False True
input C
A BA B
A B C A B C
atau
TrueFalse
A > C
print Aprint C
TrueFalse
B > C
print Bprint C
A B C
START
input
input f
A
B
A > B
False True
input C
A BA B
A B C A B C
atau
TrueFalse
A > C
print Aprint C
TrueFalse
B > C
print Bprint C
A B C
A > B
False True A BA B
A B C A B C
atau
TrueFalse
A > C
print Aprint C
TrueFalse
B > C
print Bprint C
A B C A B CA 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 > CB > C
printprint
truetruefalse false
ACBC
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
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 True
input C
TrueFalse
A > C
TrueFalse
B > C
1 2 3 4
5 7 9
A B C
1
Ada 4 titik , , dan
Untuk data diatas, maka flow akan menuju titik . . . . . ?
1 2 3 4
START
input
input
A
B
A > B
False True
input C
TrueFalse
A > C
TrueFalse
B > C
1 2 3 4
5 7 9
A B C
5 7
7 9
Untuk data diatas, maka flow akan menuju
atau berakhir pada titik : 1
START
input
input
A
B
A > B
False True
input C
TrueFalse
A > C
TrueFalse
B > C
1 2 3 4
5 9 7
A B C
2
Ada 4 titik , , dan
Untuk data diatas, maka flow akan menuju titik . . . . . ?
1 2 3 4
START
input
input
A
B
A > B
False True
input C
TrueFalse
A > C
TrueFalse
B > C
1 2 3 4
5 9 7
A B C
5 9
9 7
Untuk data diatas, maka flow akan menuju
atau berakhir pada titik : 2
START
input
input
A
B
A > B
False True
input C
TrueFalse
A > C
TrueFalse
B > C
1 2 3 4
7 5 9
A B C
3
Ada 4 titik , , dan
Untuk data diatas, maka flow akan menuju titik . . . . . ?
1 2 3 4
START
input
input
A
B
A > B
False True
input C
TrueFalse
A > C
TrueFalse
B > C
1 2 3 4
7 5 9
A B C
7 5
7 9
Untuk data diatas, maka flow akan menuju
atau berakhir pada titik : 3
START
input
input
A
B
A > B
False True
input C
TrueFalse
A > C
TrueFalse
B > C
1 2 3 4
7 9 5
A B C
4
Ada 4 titik , , dan
Untuk data diatas, maka flow akan menuju titik . . . . . ?
1 2 3 4
START
input
input
A
B
A > B
False True
input C
TrueFalse
A > C
TrueFalse
B > C
1 2 3 4
7 9 5
A B C
7 9
9 5
Untuk data diatas, maka flow akan menuju
atau berakhir pada titik : 2
START
input
input
A
B
A > B
False True
input C
TrueFalse
A > C
TrueFalse
B > C
1 2 3 4
9 5 7
A B C
5
Ada 4 titik , , dan
Untuk data diatas, maka flow akan menuju titik . . . . . ?
1 2 3 4
START
input
input
A
B
A > B
False True
input C
TrueFalse
A > C
TrueFalse
B > C
1 2 3 4
9 5 7
A B C
9 5
9 7
Untuk data diatas, maka flow akan menuju
atau berakhir pada titik : 4
START
input
input
A
B
A > B
False True
input C
TrueFalse
A > C
TrueFalse
B > C
1 2 3 4
9 7 5
A B C
6
Ada 4 titik , , dan
Untuk data diatas, maka flow akan menuju titik . . . . . ?
1 2 3 4
START
input
input
A
B
A > B
False True
input C
TrueFalse
A > C
TrueFalse
B > C
1 2 3 4
9 7 5
A B C
9 7
9 5
Untuk 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
START
input
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 = C
input C
Cara-3
A B C MAX
A
8
17KEYBOARD
SCREEN
cin
MEMORY
cout
5
17
8
17
MAX
Menggunakan hanya 2 variabel. Variabel A khusus untuk menampung
input, dan variabel MAX khusus mencatat atau menyimpan nilai
terbesar.
Cara-4
#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 = A
input A
Algoritma ini nanti yang menjadi dasar
algoritma pencarian bilangan terbesar atau
terkecil dari sejumlah bilangan yang ada
atau bilangan yang diinput.
Cara-4
#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;
}
}
BA
175
17KEYBOARD
SCREEN
cin
MEMORY
cout
5
17
8
8
C
Dengan menggunakan
Logical Operator AND (&&)
Menggunakan multi conditions
dengan logical operator AND
Cara-5
#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 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
printprint
true
truefalse
A
BC
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
printfprintf
true
truefalse
A
BC
A>B && A>C
B>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;
}
BA
175
17KEYBOARD
SCREEN
cin
MEMORY
cout
5
17
8
8
C
Cara-6
Berpikir lebih praktis, tapi computer-time tidak efisien
#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>C
B>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-2 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
BA
175
17KEYBOARD
SCREEN
scanf
MEMORY
printf
5
17
8
12
8
C
12
D
FLOWCHA
RT
Cara-1 START
input A,B,C,D
START
inputf
print
END
A, B,C, D
print
A>B
A>C
AC
A>D
printprint
C>D
DDprintprint
B>C
BC
B>D
print
C>D
DDprint
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
AC
A>D
printprint
C>D
DD
-
-
-
-
-
else
{if (B > C)
{if(B > D)
cout << B;
else
cout << D;
}
else
{if(C > D)
cout << C;
else
cout << D ;
}
}
}
A>B
printfprintf
B>C
BC
B>D
printf
C>D
DDprintf
else
Latihan
Membaca Flowchart
START
input A, B,C, D
A>B
A>C
A>DC>D
B>C
B>DC>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
dikerjakan dengan cara lain
Konsep berpikir :
Sebutkan nilai terbesar dari
beberapa nilai yang diperlihatkan
berikut ini :
12
7
17
10
15
25
15
19
22
20
Berapa nilai yang terbesar
Yang terbesar
Konsep :
Selalu menyimpan nilai terbesar
dalam ingatan
Jawab Soal-11 Cara-2
Menggunakan 2 variabel,
variabel : A khusus untuk menampung input
variabel : B khusus untuk menampung nilai terbesar
Bila bilangan yang diinput adalah 5, 17, 8 dan 12,
maka tentunya akan tercetak 17
AKEYBOARD
SCREEN
cin A
MEMORY
cout MAX
5
17
8
12
17
MAX
A
5
17KEYBOARD
SCREEN
MEMORY
5
17
8
12
5
MAX
Cara ini hanya menggunakan 2 variabel.
Variabel A khusus menerima input
Variabel MAX khusus menampung nilai terbesar
1529.
A
17
17KEYBOARD
SCREEN
MEMORY
5
17
8
12
17
MAX
Cara ini hanya menggunakan 2 variabel.
Variabel A khusus menerima input
Variabel MAX khusus menampung nilai terbesar
1539.
A
8
17KEYBOARD
SCREEN
MEMORY
5
17
8
12
17
MAX
Cara ini hanya menggunakan 2 variabel.
Variabel A khusus menerima input
Variabel MAX khusus menampung nilai terbesar
1549.
A
12
17KEYBOARD
SCREEN
MEMORY
5
17
8
12
17
MAX
Cara ini hanya menggunakan 2 variabel.
Variabel A khusus menerima input
Variabel MAX khusus menampung nilai terbesar
1559.
#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
input
print
A
A
MAX
A> MAX
MAX = A
MAX = A
A>MAX
MAX = A
A>MAX
MAX = A
input A
input A
#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
1599.
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.
KEMBALI KE-
#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
1639.
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
KEYBOARD
print
5
17
8
BA
175 8
C
input
FLOWCHART
cara-1 START
input A,B,C
A < B
ABBA
AB , A disebelah kiri B
maksudnya A lebih kecil dati B
BA , B disebelah kiri A
maksudnya B lebih kecil dati A
B
A , Belum diketahui siapa yang lebih besar
FLOWCHART
cara-1 START
input A,B,C
A < B
?
ABBA
FLOWCHART
cara-1 START
input A,B,C
A < B
B < C
ABBA
FLOWCHART
cara-1 START
input A,B,C
A < B
B < C
ABBA
ABC
input
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
BA
input
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
?
BA
input
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?
BA
input
A,B,C
A,B,C
A,C,B
A < B
B < C
A < C
AB
ABC
C
AB
ACBCAB
BA
input
A,B,C
A,B,C
A,C,B
A < B
B < C
A < C
C,A,B
AB
ABC
C
AB
ACBCAB
BA
input
A,B,C
A,B,C
A,C,B
A < B
B < C
A < C
C,A,B
AB
ABC
C
AB
ACBCAB
BA
input
A,B,C
A,B,C
A,C,B
A < B
B < C
A < C
C,A,B
AB
ABC
C
AB
ACBCAB
BA
input
A,B,C
A,B,C
A,C,B
A < B
B < C
A < C
C,A,B
AB
ABC
C
AB
ACBCAB
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
ACBCAB
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
ACBCAB
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
ACBCAB
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
ACBCAB
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
ACBCAB
B,A,C
A < C
B < C
BAC
C
BA
BCACBA
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
ACBCAB
B,A,C
B,C,A
A < C
B < C
BAC
C
BA
BCACBA
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
ACBCAB
B,A,C
B,C,A
A < C
B < C
C,A,B
BAC
C
BA
BCACBA
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
ACBCAB
B,A,C
B,C,A
A < C
B < C
C,A,B
BAC
C
BA
BCACBA
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
ACBCAB
B,A,C
B,C,A
A < C
B < C
C,A,B
BAC
C
BA
BCACBA
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
ACBCAB
B,A,C
B,C,A
A < C
B < C
C,A,B
BAC
C
BA
BCACBA
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
ACBCAB
B,A,C
B,C,A
A < C
B < C
C,A,B
BAC
C
BA
BCACBA
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
ACBCABB,A,C
B,C,A
A < C
B < C
C,A,B
BAC
C
BA
BCACBA
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
ACBCAB
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
BCACBA
}
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.
Cara-2
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
C<A & A<B
#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;
}
}
}
}
}
Penggunaan if dan teknik dasar bagian 3

Más contenido relacionado

La actualidad más candente

Kumpulan Kode C & C++
Kumpulan Kode C & C++Kumpulan Kode C & C++
Kumpulan Kode C & C++Fajar Sany
 
Penggunaan loop sebagai kerangka dasar algoritma
Penggunaan loop sebagai kerangka dasar algoritma Penggunaan loop sebagai kerangka dasar algoritma
Penggunaan loop sebagai kerangka dasar algoritma Fazar Ikhwan Guntara
 
Soal Pascal OSN Komputer
Soal Pascal OSN KomputerSoal Pascal OSN Komputer
Soal Pascal OSN KomputerLabieb Maududi
 
Pembahasan ujian teori pemrograman pascal bagian 1
Pembahasan ujian teori pemrograman pascal bagian 1Pembahasan ujian teori pemrograman pascal bagian 1
Pembahasan ujian teori pemrograman pascal bagian 1Damun Setiaji
 
Pertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur PerulanganPertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur PerulanganAchmad Solichin
 
Diktat c++ d76_dev-cpp
Diktat c++ d76_dev-cppDiktat c++ d76_dev-cpp
Diktat c++ d76_dev-cppstaffpengajar
 
Pertemuan 1 - Pengantar Algoritma
Pertemuan 1 - Pengantar AlgoritmaPertemuan 1 - Pengantar Algoritma
Pertemuan 1 - Pengantar AlgoritmaAchmad Solichin
 
Pertemuan 2 : Algoritma & Pemrograman
Pertemuan 2 : Algoritma & PemrogramanPertemuan 2 : Algoritma & Pemrograman
Pertemuan 2 : Algoritma & PemrogramanTri Retna
 
Pertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & PemrogramanPertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & PemrogramanTri Retna
 
Materi 3&4 prosedur
Materi 3&4   prosedurMateri 3&4   prosedur
Materi 3&4 prosedurAlfa Felle
 
Pertemuan 3 : Algoritma & Pemrograman
Pertemuan 3 : Algoritma & PemrogramanPertemuan 3 : Algoritma & Pemrograman
Pertemuan 3 : Algoritma & PemrogramanTri Retna
 
Pertemuan 6 : Algoritma & Pemrograman
Pertemuan 6 : Algoritma & PemrogramanPertemuan 6 : Algoritma & Pemrograman
Pertemuan 6 : Algoritma & PemrogramanTri Retna
 
Pertemuan 1 : Algoritma & Pemrograman
Pertemuan 1 : Algoritma & PemrogramanPertemuan 1 : Algoritma & Pemrograman
Pertemuan 1 : Algoritma & PemrogramanTri Retna
 

La actualidad más candente (20)

Kumpulan Kode C & C++
Kumpulan Kode C & C++Kumpulan Kode C & C++
Kumpulan Kode C & C++
 
Penggunaan loop sebagai kerangka dasar algoritma
Penggunaan loop sebagai kerangka dasar algoritma Penggunaan loop sebagai kerangka dasar algoritma
Penggunaan loop sebagai kerangka dasar algoritma
 
Pertemuan 2 ~ Flowchart
Pertemuan 2 ~ FlowchartPertemuan 2 ~ Flowchart
Pertemuan 2 ~ Flowchart
 
Soal dan bahasan Pascal
Soal dan bahasan PascalSoal dan bahasan Pascal
Soal dan bahasan Pascal
 
Soal Pascal OSN Komputer
Soal Pascal OSN KomputerSoal Pascal OSN Komputer
Soal Pascal OSN Komputer
 
Pembahasan ujian teori pemrograman pascal bagian 1
Pembahasan ujian teori pemrograman pascal bagian 1Pembahasan ujian teori pemrograman pascal bagian 1
Pembahasan ujian teori pemrograman pascal bagian 1
 
Kompilasi13 ka p (2)
Kompilasi13 ka p (2)Kompilasi13 ka p (2)
Kompilasi13 ka p (2)
 
Pertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur PerulanganPertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur Perulangan
 
Latihan AlPro-I
Latihan AlPro-ILatihan AlPro-I
Latihan AlPro-I
 
Diktat c++ d76_dev-cpp
Diktat c++ d76_dev-cppDiktat c++ d76_dev-cpp
Diktat c++ d76_dev-cpp
 
Pertemuan 1 - Pengantar Algoritma
Pertemuan 1 - Pengantar AlgoritmaPertemuan 1 - Pengantar Algoritma
Pertemuan 1 - Pengantar Algoritma
 
Pemrograman dasar
Pemrograman dasarPemrograman dasar
Pemrograman dasar
 
Tutor C
Tutor CTutor C
Tutor C
 
Pertemuan 2 : Algoritma & Pemrograman
Pertemuan 2 : Algoritma & PemrogramanPertemuan 2 : Algoritma & Pemrograman
Pertemuan 2 : Algoritma & Pemrograman
 
Pertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & PemrogramanPertemuan 5 : Algoritma & Pemrograman
Pertemuan 5 : Algoritma & Pemrograman
 
Materi 3&4 prosedur
Materi 3&4   prosedurMateri 3&4   prosedur
Materi 3&4 prosedur
 
modul algoritma Bab 5
modul algoritma Bab 5modul algoritma Bab 5
modul algoritma Bab 5
 
Pertemuan 3 : Algoritma & Pemrograman
Pertemuan 3 : Algoritma & PemrogramanPertemuan 3 : Algoritma & Pemrograman
Pertemuan 3 : Algoritma & Pemrograman
 
Pertemuan 6 : Algoritma & Pemrograman
Pertemuan 6 : Algoritma & PemrogramanPertemuan 6 : Algoritma & Pemrograman
Pertemuan 6 : Algoritma & Pemrograman
 
Pertemuan 1 : Algoritma & Pemrograman
Pertemuan 1 : Algoritma & PemrogramanPertemuan 1 : Algoritma & Pemrograman
Pertemuan 1 : Algoritma & Pemrograman
 

Similar a Penggunaan if dan teknik dasar bagian 3

Tugas 7 kkpi muhamad ihsan kelas xii tav
Tugas 7 kkpi muhamad ihsan kelas xii tavTugas 7 kkpi muhamad ihsan kelas xii tav
Tugas 7 kkpi muhamad ihsan kelas xii tav082383997664
 
Uas kkpi ade warlis xii tav
Uas kkpi ade warlis xii tav Uas kkpi ade warlis xii tav
Uas kkpi ade warlis xii tav Adhe II
 
Materi kalkulus i ti
Materi kalkulus i tiMateri kalkulus i ti
Materi kalkulus i tipt.ccc
 
Pertemuan iv
Pertemuan ivPertemuan iv
Pertemuan ivwindi1
 
Kuliah 4&5 sistem digital
Kuliah 4&5 sistem digitalKuliah 4&5 sistem digital
Kuliah 4&5 sistem digitalsatriahelmy
 
PERETMUAN III-IV SISTEM BILANGAN ( BAGIAN PERTAMA ).pptx
PERETMUAN III-IV SISTEM BILANGAN ( BAGIAN PERTAMA ).pptxPERETMUAN III-IV SISTEM BILANGAN ( BAGIAN PERTAMA ).pptx
PERETMUAN III-IV SISTEM BILANGAN ( BAGIAN PERTAMA ).pptxUNIVERSITAS MUHAMMADIYAH BERAU
 
Perkenalan Pemrograman C++
Perkenalan Pemrograman C++Perkenalan Pemrograman C++
Perkenalan Pemrograman C++Sparisoma Viridi
 
Faizatul khayati
Faizatul khayatiFaizatul khayati
Faizatul khayatiyulia94
 
Faizatul khayati
Faizatul khayatiFaizatul khayati
Faizatul khayatiyulia94
 

Similar a Penggunaan if dan teknik dasar bagian 3 (20)

Kompilasi13 ka p
Kompilasi13 ka pKompilasi13 ka p
Kompilasi13 ka p
 
Kompilasi13 ka p (1)
Kompilasi13 ka p (1)Kompilasi13 ka p (1)
Kompilasi13 ka p (1)
 
Latihan sap 1
Latihan sap 1Latihan sap 1
Latihan sap 1
 
Tugas 7 kkpi muhamad ihsan kelas xii tav
Tugas 7 kkpi muhamad ihsan kelas xii tavTugas 7 kkpi muhamad ihsan kelas xii tav
Tugas 7 kkpi muhamad ihsan kelas xii tav
 
Uas kkpi ade warlis xii tav
Uas kkpi ade warlis xii tav Uas kkpi ade warlis xii tav
Uas kkpi ade warlis xii tav
 
Algoritma dan Pemrograman
Algoritma dan Pemrograman Algoritma dan Pemrograman
Algoritma dan Pemrograman
 
Alpro pertemuan 3 kasus 3.1
Alpro pertemuan 3 kasus 3.1Alpro pertemuan 3 kasus 3.1
Alpro pertemuan 3 kasus 3.1
 
Alpro pertemuan 3 kasus 3.1
Alpro pertemuan 3 kasus 3.1Alpro pertemuan 3 kasus 3.1
Alpro pertemuan 3 kasus 3.1
 
3
33
3
 
Materi kalkulus i ti
Materi kalkulus i tiMateri kalkulus i ti
Materi kalkulus i ti
 
Pertemuan iv
Pertemuan ivPertemuan iv
Pertemuan iv
 
Praktikum Decision + Output
Praktikum Decision + OutputPraktikum Decision + Output
Praktikum Decision + Output
 
Kuliah 4&5 sistem digital
Kuliah 4&5 sistem digitalKuliah 4&5 sistem digital
Kuliah 4&5 sistem digital
 
Latihan individu no 3
Latihan individu no 3Latihan individu no 3
Latihan individu no 3
 
Latihan individu no 3
Latihan individu no 3Latihan individu no 3
Latihan individu no 3
 
PERETMUAN III-IV SISTEM BILANGAN ( BAGIAN PERTAMA ).pptx
PERETMUAN III-IV SISTEM BILANGAN ( BAGIAN PERTAMA ).pptxPERETMUAN III-IV SISTEM BILANGAN ( BAGIAN PERTAMA ).pptx
PERETMUAN III-IV SISTEM BILANGAN ( BAGIAN PERTAMA ).pptx
 
3.1
3.13.1
3.1
 
Perkenalan Pemrograman C++
Perkenalan Pemrograman C++Perkenalan Pemrograman C++
Perkenalan Pemrograman C++
 
Faizatul khayati
Faizatul khayatiFaizatul khayati
Faizatul khayati
 
Faizatul khayati
Faizatul khayatiFaizatul khayati
Faizatul khayati
 

Penggunaan if dan teknik dasar bagian 3

  • 1.
  • 2. Memilih bilangan terbesar atau terkecil dari dua buah bilangan
  • 3. 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
  • 4. dapat ditulis setelah dan konsep atau draf secara manual sudah dibuat
  • 5. 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
  • 6. 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
  • 7. KONSEP penyelesaian Draf MENCARI YANG TERBESAR 5A 9B 14 - 4 4 C D E C=A + B D=A - B E = abs(D) 18 F F = C+E 9G 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
  • 8. 5A 9B 14 - 4 4 C D E C = A + B D = A - B E = abs(D) 18 F F = C+E 9G G = F / 2 terbesar 5A 9B 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
  • 9. 5A 9B 14 4 C E C = A + B E = abs( A – B ) 9 G G = ( C+E ) / 2 terbesar 5A 9B 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 1 G = ( (A+B) + abs( A – B ) ) / 2
  • 10. Algoritma yang ditulis dalam suatu Bahasa Pemrograman disebut PROGRAM
  • 11. 5A 9B 14 - 4 4 C D E C = A + B D = A - B E = abs(D) 18 F F = C+E 9G 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
  • 12. 5A 9B 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
  • 13. 5A 9B 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; }
  • 14. #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; }
  • 15.
  • 16.
  • 17. Memilih bilangan terbesar atau terkecil dari dua buah bilangan menggunakan Control statement if
  • 18.
  • 19.
  • 20.
  • 21. 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)
  • 22. 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)
  • 23. 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
  • 24. 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
  • 25. (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
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. 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
  • 31. if ( cond ) { - - - - - } - - - Statements true next instruction Flowchart cond - - - - - - - - - - TRUE cond - - - - - - - - - - TRUE Penulisan PROGRAM Terikat aturan / ketentuan Penggambaran FLOWCHART bebas
  • 32.
  • 33. 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 TRUEFALSE
  • 34. Flowchart Cara-Kerja cond - - - - - - - - - - - - statements- false statements- true - - - - next instruction TRUEFALSE 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
  • 35. cond - - - - - - - - - - - - falsetrue - - - - next instruction TRUE FALSE Penulisan PROGRAM terikat aturan, Penggambaran FLOWCHART bebas. cond - - - - - - - - - - - - false true - - - - next instruction TRUE FALSE
  • 36.
  • 37. 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
  • 38. Soal Susun program dalam bahasa C++ untuk menginput 2 (dua) buah bilangan bulat, kemudian mencetak salah satu bilangan yang nilainya terbesar.
  • 39. Soal-9 Susun program dalam bahasa C++ untuk menginput 2 (dua) buah bilangan bulat, kemudian mencetak salah satu bilangan yang nilainya terbesar. A 25 5 cin cout 5 2 B MISAL NILAI YANG DIINPUT ADALAH 5 DAN 2
  • 40. Read(A) Read(B) IF A > B then Write(A) Else Write(B) End If START Read Read write END A B AB A > B False True Write Algoritma Dasar
  • 41. #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 AB A > B False True print A BA B Algoritma dalam Bahasa C++
  • 43. 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;
  • 44. 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 << …... ;
  • 45. 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
  • 46.
  • 47. Cara-2 input input print A B MAX A > B false true MAX = AMAX = 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
  • 48. BA 25 5 KEYBOARD SCREEN cin MEMORY cout 5 2 5 MAX Dengan cara menyimpan bilangan yang terbesar kedalam sebuah variabel misal namanya MAX
  • 49. 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
  • 50. Cara-4 START input input print 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; }
  • 51. Cara-4 START input input print 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
  • 52.
  • 53. 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
  • 54. 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;
  • 55.
  • 56. 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.
  • 57.
  • 58.
  • 59. 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. BA 175 17 KEYBOARD SCREEN cin MEMORY cout 5 8 17 8 C
  • 62.
  • 63.
  • 64. 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
  • 65. 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
  • 66. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B
  • 67. 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
  • 68. 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 TrueFalse ? A B Pilih yang mana ?
  • 69. 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 TrueFalse ? A B Pilih yang mana saja tidak mendatangkan error. Hanya saja secara logika, mana yang tepat untuk dipilih
  • 70. 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 terbesarA B A B TrueFalse ?
  • 71. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B TrueFalse A > C Mencetak atau masih membandingkan ?
  • 72. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B TrueFalse A > C Mencetak atau masih membandingkan ? A B C A B C atau Kondisi bila A > C true
  • 73. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B TrueFalse A > C Bisakah diambil kesimpulan bahwa A yang terbesar ? A B C A B C atau Kondisi bila A > C true
  • 74. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C
  • 75. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B TrueFalse A > C print A A B C A B C atau Kondisi bila A > C true
  • 76. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B TrueFalse A > C print A
  • 77. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B TrueFalse A > C print A Perlukah membandingkan B dengan C disini ? Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar
  • 78. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B TrueFalse 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
  • 79. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B TrueFalse A > C print A Perlukah membandingkan B dengan C disini ? A B C Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar
  • 80. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print A Perlukah membandingkan B dengan C disini ? A B C Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar
  • 81. A B C Menggunakan 3 variabel START input scanf A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C A B C
  • 82. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print AB > CA 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
  • 83. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C A B C
  • 84. START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C A B C
  • 85. START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C Mencetak atau masih membandingkan ?
  • 86. START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C TrueFalse ? A > C C > A B > C C > B
  • 87. START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C TrueFalse B > C B yang besar, jadi B yang dibandingkan dengan C
  • 88. START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C TrueFalse B > C print B
  • 89. START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C TrueFalse B > C print B A B C
  • 90. START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C TrueFalse B > C print Bprint C A B C
  • 91. START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C TrueFalse B > C print Bprint C A B C
  • 92. START input input f A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C TrueFalse B > C print Bprint C A B C
  • 93. A > B False True A BA B A B C A B C atau TrueFalse A > C print Aprint C TrueFalse B > C print Bprint C A B C A B CA B C A B C atau
  • 94.
  • 95. #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 > CB > C printprint truetruefalse false ACBC A B C Menggunakan 3 variabel
  • 96. #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
  • 97.
  • 98. 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
  • 99. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 5 7 9 A B C 1 Ada 4 titik , , dan Untuk data diatas, maka flow akan menuju titik . . . . . ? 1 2 3 4
  • 100. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 5 7 9 A B C 5 7 7 9 Untuk data diatas, maka flow akan menuju atau berakhir pada titik : 1
  • 101. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 5 9 7 A B C 2 Ada 4 titik , , dan Untuk data diatas, maka flow akan menuju titik . . . . . ? 1 2 3 4
  • 102. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 5 9 7 A B C 5 9 9 7 Untuk data diatas, maka flow akan menuju atau berakhir pada titik : 2
  • 103. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 7 5 9 A B C 3 Ada 4 titik , , dan Untuk data diatas, maka flow akan menuju titik . . . . . ? 1 2 3 4
  • 104. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 7 5 9 A B C 7 5 7 9 Untuk data diatas, maka flow akan menuju atau berakhir pada titik : 3
  • 105. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 7 9 5 A B C 4 Ada 4 titik , , dan Untuk data diatas, maka flow akan menuju titik . . . . . ? 1 2 3 4
  • 106. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 7 9 5 A B C 7 9 9 5 Untuk data diatas, maka flow akan menuju atau berakhir pada titik : 2
  • 107. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 9 5 7 A B C 5 Ada 4 titik , , dan Untuk data diatas, maka flow akan menuju titik . . . . . ? 1 2 3 4
  • 108. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 9 5 7 A B C 9 5 9 7 Untuk data diatas, maka flow akan menuju atau berakhir pada titik : 4
  • 109. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 9 7 5 A B C 6 Ada 4 titik , , dan Untuk data diatas, maka flow akan menuju titik . . . . . ? 1 2 3 4
  • 110. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 9 7 5 A B C 9 7 9 5 Untuk data diatas, maka flow akan menuju atau berakhir pada titik : 4
  • 111.
  • 112. #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 START input print END A, B, C MAX B > MAX false true MAX = B MAX = A C > MAX false true MAX = C
  • 113.
  • 114. #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 = C input C Cara-3 A B C MAX
  • 115.
  • 116. A 8 17KEYBOARD SCREEN cin MEMORY cout 5 17 8 17 MAX Menggunakan hanya 2 variabel. Variabel A khusus untuk menampung input, dan variabel MAX khusus mencatat atau menyimpan nilai terbesar. Cara-4
  • 117. #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 = A input A Algoritma ini nanti yang menjadi dasar algoritma pencarian bilangan terbesar atau terkecil dari sejumlah bilangan yang ada atau bilangan yang diinput. Cara-4
  • 118.
  • 119. #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; } } BA 175 17KEYBOARD SCREEN cin MEMORY cout 5 17 8 8 C Dengan menggunakan Logical Operator AND (&&) Menggunakan multi conditions dengan logical operator AND Cara-5
  • 120. #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 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 printprint true truefalse A BC A>B && A>C B>A && B>C B > C Ini sebenarnya bisa diganti cukup dengan :
  • 121. #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 printfprintf true truefalse A BC A>B && A>C B>C
  • 122.
  • 123. #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; } BA 175 17KEYBOARD SCREEN cin MEMORY cout 5 17 8 8 C Cara-6 Berpikir lebih praktis, tapi computer-time tidak efisien
  • 124. #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>C B>A && B>C print true B C>A && C>B print true C
  • 125.
  • 126. 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.
  • 127. Jawab-2 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 BA 175 17KEYBOARD SCREEN scanf MEMORY printf 5 17 8 12 8 C 12 D
  • 130. #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
  • 131. #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 AC A>D printprint C>D DD
  • 132. - - - - - else {if (B > C) {if(B > D) cout << B; else cout << D; } else {if(C > D) cout << C; else cout << D ; } } } A>B printfprintf B>C BC B>D printf C>D DDprintf else
  • 134. START input A, B,C, D A>B A>C A>DC>D B>C B>DC>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 : ………
  • 135. 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.
  • 136. Untuk dapat menyelesaikan soal ini, perhatikan kembali soal no-11 dikerjakan dengan cara lain
  • 137. Konsep berpikir : Sebutkan nilai terbesar dari beberapa nilai yang diperlihatkan berikut ini :
  • 138. 12
  • 139. 7
  • 140. 17
  • 141. 10
  • 142. 15
  • 143. 25
  • 144. 15
  • 145. 19
  • 146. 22
  • 147. 20
  • 148. Berapa nilai yang terbesar
  • 150. Konsep : Selalu menyimpan nilai terbesar dalam ingatan
  • 151. Jawab Soal-11 Cara-2 Menggunakan 2 variabel, variabel : A khusus untuk menampung input variabel : B khusus untuk menampung nilai terbesar Bila bilangan yang diinput adalah 5, 17, 8 dan 12, maka tentunya akan tercetak 17 AKEYBOARD SCREEN cin A MEMORY cout MAX 5 17 8 12 17 MAX
  • 152. A 5 17KEYBOARD SCREEN MEMORY 5 17 8 12 5 MAX Cara ini hanya menggunakan 2 variabel. Variabel A khusus menerima input Variabel MAX khusus menampung nilai terbesar 1529.
  • 153. A 17 17KEYBOARD SCREEN MEMORY 5 17 8 12 17 MAX Cara ini hanya menggunakan 2 variabel. Variabel A khusus menerima input Variabel MAX khusus menampung nilai terbesar 1539.
  • 154. A 8 17KEYBOARD SCREEN MEMORY 5 17 8 12 17 MAX Cara ini hanya menggunakan 2 variabel. Variabel A khusus menerima input Variabel MAX khusus menampung nilai terbesar 1549.
  • 155. A 12 17KEYBOARD SCREEN MEMORY 5 17 8 12 17 MAX Cara ini hanya menggunakan 2 variabel. Variabel A khusus menerima input Variabel MAX khusus menampung nilai terbesar 1559.
  • 156. #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 input print A A MAX A> MAX MAX = A MAX = A A>MAX MAX = A A>MAX MAX = A input A input A
  • 157. #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
  • 158. #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
  • 159. 1599. 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. KEMBALI KE-
  • 160.
  • 161. #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
  • 162. #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
  • 163. 1639. 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.
  • 164. Bila bilangan yang diinput adalah 5, 17 dan 8, maka tentunya akan tercetak 5 8 17 atau tercetak : 5 8 17 5 8 17 KEYBOARD print 5 17 8 BA 175 8 C input
  • 165. FLOWCHART cara-1 START input A,B,C A < B ABBA AB , A disebelah kiri B maksudnya A lebih kecil dati B BA , B disebelah kiri A maksudnya B lebih kecil dati A B A , Belum diketahui siapa yang lebih besar
  • 169. input A,B,C A,B,C A < B B < C AB ABC BA
  • 170. 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
  • 171. input A,B,C A,B,C A < B B < C ? AB ABC C AB BA
  • 172. input A,B,C A,B,C A < B B < C A < C AB ABC C AB BA
  • 173. input A,B,C A,B,C A < B B < C A < C AB ABC C AB ? BA
  • 174. input A,B,C A,B,C A < B B < C A < C AB ABC C AB ACB BA
  • 175. input A,B,C A,B,C A,C,B A < B B < C A < C AB ABC C AB ACB BA
  • 176. input A,B,C A,B,C A,C,B A < B B < C A < C AB ABC C AB ACB? BA
  • 177. input A,B,C A,B,C A,C,B A < B B < C A < C AB ABC C AB ACBCAB BA
  • 178. input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB BA
  • 179. input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB BA
  • 180. input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB BA
  • 181. input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB A < C BAC BA
  • 182. input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C A < C BAC BA
  • 183. START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C A < C BAC C BA BA
  • 184. START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C A < C ? BAC C BA BA
  • 185. START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C A < C B < C BAC C BA BA
  • 186. START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C A < C B < C BAC C BA BCACBA BA
  • 187. START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C B,C,A A < C B < C BAC C BA BCACBA BA
  • 188. START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C B,C,A A < C B < C C,A,B BAC C BA BCACBA BA
  • 189. START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C B,C,A A < C B < C C,A,B BAC C BA BCACBA BA
  • 190. START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C B,C,A A < C B < C C,A,B BAC C BA BCACBA BA
  • 191. 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 ACBCAB B,A,C B,C,A A < C B < C C,A,B BAC C BA BCACBA BA
  • 192. 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 ACBCAB B,A,C B,C,A A < C B < C C,A,B BAC C BA BCACBA BA
  • 193. 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 ACBCABB,A,C B,C,A A < C B < C C,A,B BAC C BA BCACBA 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; } } }
  • 194. A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB if(A<B) { if(B<C) cout << A << “ “ << B << “ “ << C; else {if(A<C) cout << A << “ “ << C << “ “ << B; else cout << C << “ “ << A << “ “ << B; } } else
  • 195. B,A,C B,C,A A < C B < C C,A,B BAC C BA BCACBA } else { if(A<C) cout << B << “ “ << A << “ “ << C; else {if(B<C) cout << B << “ “ << C << “ “ << A; else cout << C << “ “ << B << “ “ << A; } } }
  • 196. 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. Cara-2
  • 197. 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 C<A & A<B
  • 198. #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; } } } } }