Memilih bilangan yang bilangan yang nilainya terbesar 7 7 5 7 5 A B cin cout dapat ditulis setelah...

88

Transcript of Memilih bilangan yang bilangan yang nilainya terbesar 7 7 5 7 5 A B cin cout dapat ditulis setelah...

Memilih bilangan yang

nilainya terbesar atau

terkecil dari dua buah

bilangan yang ada

Soal-8.

Susun algoritma yang ditulis dalam

Bahasa C++, untuk menginput dua

buah bilangan dan mencetak salah

satu bilangan yang nilainya terbesar

7

7

5

7 5

A B

cin 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

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

Algoritma yang

ditulis dalam

suatu Bahasa

Pemrograman

disebut

PROGRAM

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;

}

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

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

print

A B A B

Algoritma dalam Bahasa C++

FLOWCHART Cara-1

START

cin

cin

cout

END

A

B

A B

A > B False True

cout

A B A 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 ;

TEKNIK

DASAR

if (B > A)

cout << …... ;

else

cout << …... ;

if (B < A) cout << …... ; else cout << …... ;

if (A > B) cout << A ; else cout << B ;

if (A < B) cout << B ; else cout << A ;

if (B > A)

cout << B ;

else

cout << A ;

TEKNIK

DASAR

if (B < A) cout << …... ; else cout << …... ;

if (A > B) cout << A ; else cout << B ;

if (A < B) cout << B ; else cout << A ;

if (B > A)

cout << B ;

else

cout << A ;

if (B < A) cout << A ; else cout << B ;

TEKNIK

DASAR

Cara-2

input

input

print

A

B

MAX

A > B false true

MAX = A MAX = B

#include <iostream.h>

void main()

{ int A, B, MAX;

cin >> A;

cin >> B;

if (A > B)

{ MAX = A; }

else

{ MAX = B; }

cout << MAX;

}

TEKNIK

DASAR

B A

2 5

5 KEYBOARD

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.

B A

17 5 17

KEYBOARD SCREEN

cin

MEMORY

cout

5

8

17

8

C

B A

5 17 17

KEYBOARD SCREEN

cin

MEMORY

cout

5

8

17

8

C

B A

8 5 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 B A B

A B C

Menggunakan 3 variabel

START

input

input

A

B

A > B False True

input C

A B

Mencetak

atau

masih

membandingkan

?

A B

A B C

Menggunakan 3 variabel

A > C

C > A

B > C

C > B

START

input

input

A

B

A > B False True

input C

A B

True False ?

A B

Pilih yang

mana

?

A B C

Menggunakan 3 variabel

A > C

C > A

B > C

C > B

START

input

input

A

B

A > B False True

input C

A B

True False ?

A 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

print

END

A

B

print

A > B false true

input C

A > C B > C

print print

true true false false

A C B C

A B C

Menggunakan 3 variabel

#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