Download - Memilih bilangan yang 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

Transcript

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