penggunaan if dan teknik dasar bagian 1

Post on 25-Jun-2015

287 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

source by : Sugeng Supriyadi S.Kom, M.Kom

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

75

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 | = 212 + 2 = 14 14 / 2 = 7

7 terbesar

Misal yang diinput nilai : 4 dan 9

4 + 9 = 13

4 – 9 = - 5 | - 5 | = 513 + 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 | = 212 - 2 = 10 10 / 2 = 5

5 terkecil

Misal yang diinput nilai : 4 dan 9

4 + 9 = 13

4 – 9 = - 5 | - 5 | = 513 - 5 = 8 8 / 2 = 4

4 terkecil

MENCARI YANG TERKECIL

KONSEP penyelesaian

DrafMENCARI YANG TERBESAR

5A

9B

14

- 4 4

C

D E

C=A + B

D=A - B E = abs(D)

18

FF = C+E

9G

G = F / 2

terbesar

2

1

3

4

5

12345

C = A + BD = A – BE = abs( D )F = C + EG = F / 2

5A

9B

14

- 4 4

C

D E

C = A + B

D = A - B E = abs(D)

18

FF = C+E

9G

G = F / 2

terbesar

5A

9B

14

4

C

E

C = A + B

E = abs( A – B )

9

GG = ( C+E ) / 2

terbesar

disingkat

copy dari halaman sebelumnya

2

1

3

4

5

2

1

3

12345

C = A + BD = A – BE = abs( D )F = C + EG = F / 2

123

C = A + BE = abs( A-B )G = (C+E) / 2

5A

9B

14

4

C

E

C = A + B

E = abs( A – B )

9

GG = ( C+E ) / 2

terbesar

5A

9B

9

GG = ( (A+B) + abs( A – B ) ) / 2

terbesar

disingkat

copy dari halaman sebelumnya

123

C = A + BE = abs( A-B )G = (C+E) / 2

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

FF = C+E

9G

G = F / 2

terbesar

2

1

3

4

5

12345

C = A + BD = A – BE = abs( D )F = C + EG = 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

GG = ( C+E ) / 2

terbesar

123

C = A + BE = 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

GG = ( (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 == diatasdisebut Relational Operator(Operator Hubungan)

Relational Operatoryang 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)

conditionakan

bernilai

F

F

T

F

T

T

T = TRUEF = FALSE

(A == B)

(A > B)

(A < B)

(A >= B)

(A <= B)

(A != B)

conditionakan

bernilai

F

T

F

T

F

T

(A == B)

(A > B)

(A < B)

(A >= B)

(A <= B)

(A != B)

conditionakan

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

FlowchartBentuk Umum - 1biasa 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 ) { -

----

}

---

Statementstrue

next instruction

Flowchart

cond

------

----

TRUE cond

------

----

TRUE

Penulisan PROGRAMTerikat aturan / ketentuan

Penggambaran FLOWCHARTbebas

if ( cond ) { -

----

}else { -

----

}

---

statements-true

statements-false

next instruction

Flowchart

Bentuk Umum - 2biasa 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

------

------

falsetrue

----

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.

A25 5

cin cout

52

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 > BFalse 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 > BFalse True

print

A BA B

Algoritma dalam Bahasa C++

FLOWCHART Cara-1

START

cin

cin

cout

END

A

B

AB

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

TEKNIKDASAR

Cara-2input

input

print

A

B

MAX

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

}

TEKNIKDASAR

BA

25

5KEYBOARD

SCREEN

cin

MEMORY

cout

52

5

MAX

Dengan cara menyimpan bilangan yang terbesar kedalamsebuah variabel misal namanya MAX

Cara-3

input

input

print

A

B

MAX

A > Btrue

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;

}

TEKNIKDASAR

Cara-4START

input

input

print

END

A

B

MAX

B>MAX

False

True

MAX = B

MAX = A

TEKNIKDASAR

#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

TEKNIKDASAR#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 yangdiinput adalah5 dan 2

A

misal nilai yangdiinput adalah5 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

KEYBOARDSCREEN

cin

MEMORY

cout

5817

8

C

BA

517 17

KEYBOARDSCREEN

cin

MEMORY

cout

5817

8

C

BA

85 17

KEYBOARDSCREEN

cin

MEMORY

cout

5817

17

C

START

input

input

A

B

?False True

input C

A B CMenggunakan 3 variabel

Apa yang dibandingkan untuk pertama kali :A dengan BB dengan AA dengan CC dengan AB dengan CC dengan B

A B CMenggunakan 3 variabel

B > AB < AB > CB < C

A > BA < BA > CA < C

C > AC < AC > BC < B

Pilih yang mudah

START

input

input

A

B

?False True

input C

A B CMenggunakan 3 variabel

START

input

input

A

B

A > BFalse True

input C

A BA B

A B CMenggunakan 3 variabel

START

input

input

A

B

A > BFalse True

input C

A B

Mencetak atau

masih membandingkan

?

A B

A B CMenggunakan 3 variabel

A > CC > AB > CC > B

START

input

input

A

B

A > BFalse True

input C

A B

TrueFalse?

A B

Pilih yang mana

?

A B CMenggunakan 3 variabel

A > CC > AB > CC > B

START

input

input

A

B

A > BFalse 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 CMenggunakan 3 variabel

A > CC > AB > CC > B

START

input

input

A

B

A > BFalse 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 CMenggunakan 3 variabel

START

input

input

A

B

A > BFalse True

input C

A BA B

TrueFalseA > C

Mencetak atau

masih membandingkan

?

A B CMenggunakan 3 variabel

START

input

input

A

B

A > BFalse True

input C

A BA B

TrueFalseA > C

Mencetak atau

masih membandingkan

?

A B C A B C

atau

Kondisi bila A > C true

A B CMenggunakan 3 variabel

START

input

input

A

B

A > BFalse True

input C

A BA B

TrueFalseA > C

Bisakah diambil kesimpulan

bahwa A yang terbesar

?

A B C A B C

atau

Kondisi bila A > C true

A B CMenggunakan 3 variabel

START

input

input

A

B

A > BFalse True

input C

A BA B

TrueFalseA > C

print A

A B C A B C

atau

Kondisi bila A > C true

A B CMenggunakan 3 variabel

START

input

input

A

B

A > BFalse True

input C

A BA B

TrueFalseA > C

print A

A B CMenggunakan 3 variabel

START

input

input

A

B

A > BFalse True

input C

A BA B

TrueFalseA > C

print A

Perlukah membandingkan

B dengan C disini

?

AtauDapatkah diambil kesimpulan bahwa C adalah yang terbesar

A B CMenggunakan 3 variabel

START

input

input

A

B

A > BFalse True

input C

A BA B

TrueFalseA > C

print A

Perlukah membandingkan

B dengan C disini

?

A B C

AtauDapatkah diambil kesimpulan bahwa C adalah yang terbesar

Kondisi bila A > C False

Bila A > C Falseartinya

A < CAtau C > A

A B CMenggunakan 3 variabel

START

input

input

A

B

A > BFalse True

input C

A BA B

TrueFalseA > C

print A

Perlukah membandingkan

B dengan C disini

?

A B C

AtauDapatkah diambil kesimpulan bahwa C adalah yang terbesar

A B CMenggunakan 3 variabel

START

input

input

A

B

A > BFalse True

input C

A BA B

A B C A B C

atau

TrueFalseA > C

print A

Perlukah membandingkan

B dengan C disini

?

A B C

AtauDapatkah diambil kesimpulan bahwa C adalah yang terbesar

A B CMenggunakan 3 variabel

START

input

scanf

A

B

A > BFalse True

input C

A BA B

A B C A B C

atau

TrueFalseA > C

print Aprint C

A B C

A B CMenggunakan 3 variabel

START

input

input

A

B

A > BFalse True

input C

A BA B

A B C A B C

atau

TrueFalseA > C

print AB > CA B C

PastiKesini

Tidak Pernahkesini

B > C pasti FalseMembandingkan sesuatu yang pasti

False atau True adalah pekerjaan yang tidak bermanfaat

Pasti False

A B CMenggunakan 3 variabel

START

input

input

A

B

A > BFalse True

input C

A BA B

A B C A B C

atau

TrueFalseA > C

print Aprint C

A B C

START

input

input

A

B

A > BFalse True

input C

A BA B

A B C A B C

atau

TrueFalseA > C

print Aprint C

A B C

START

input

input

A

B

A > BFalse True

input C

A BA B

A B C A B C

atau

TrueFalseA > C

print Aprint C

Mencetak atau

masih membandingkan

?

START

input

input

A

B

A > BFalse True

input C

A BA B

A B C A B C

atau

TrueFalseA > C

print Aprint C

TrueFalse?

A > CC > AB > CC > B

START

input

input

A

B

A > BFalse True

input C

A BA B

A B C A B C

atau

TrueFalseA > C

print Aprint C

TrueFalseB > C

B yang besar, jadi B yang

dibandingkan dengan C

START

input

input

A

B

A > BFalse True

input C

A BA B

A B C A B C

atau

TrueFalseA > C

print Aprint C

TrueFalseB > C

print B

START

input

input

A

B

A > BFalse True

input C

A BA B

A B C A B C

atau

TrueFalseA > C

print Aprint C

TrueFalseB > C

print BA B C

START

input

input

A

B

A > BFalse True

input C

A BA B

A B C A B C

atau

TrueFalseA > C

print Aprint C

TrueFalseB > C

print Bprint CA B C

START

input

input

A

B

A > BFalse True

input C

A BA B

A B C A B C

atau

TrueFalseA > C

print Aprint C

TrueFalseB > C

print Bprint CA B C

START

input

input f

A

B

A > BFalse True

input C

A BA B

A B C A B C

atau

TrueFalseA > C

print Aprint C

TrueFalseB > C

print Bprint CA B C

A > BFalse True A BA B

A B C A B C

atau

TrueFalseA > C

print Aprint C

TrueFalseB > 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-1START

input

input

print

END

A

B

print

A > Bfalse true

input C

A > CB > C

printprint

truetruefalse false

ACBC

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

top related