Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Introduction 03 using to Algorithm C / C++ teknik dasar Algoritma.

Presentasi serupa


Presentasi berjudul: "Introduction 03 using to Algorithm C / C++ teknik dasar Algoritma."— Transcript presentasi:

1 Introduction 03 using to Algorithm C / C++ teknik dasar Algoritma

2 Soal-8 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 5 7 cin 7 5 cout A B

4 dan konsep atau draf secara manual sudah dibuat
algoritma dapat ditulis setelah peroalannya sudah dipahami dan konsep atau draf secara manual sudah dibuat

5 Misal yang diinput nilai : 7 dan 5
Draf KONSEP penyelesaian MENCARI YANG TERBESAR Misal yang diinput nilai : 7 dan 5 7 + 5 = 12 14 / 2 = 7 = 14 | 2 | = 2 7 – 5 = 2 7 terbesar Misal yang diinput nilai : dan 9 4 + 9 = 13 18 / 2 = 9 = 18 | - 5 | = 5 4 – 9 = - 5 9 terbesar

6 Misal yang diinput nilai : 7 dan 5
Draf KONSEP penyelesaian MENCARI YANG TERKECIL Misal yang diinput nilai : 7 dan 5 7 + 5 = 12 10 / 2 = 5 = 10 | 2 | = 2 7 – 5 = 2 5 terkecil Misal yang diinput nilai : dan 9 4 + 9 = 13 8 / 2 = 4 = 8 | - 5 | = 5 4 – 9 = - 5 4 terkecil

7 Draf MENCARI YANG TERBESAR 5 A 9 B 14 - 4 4 C D E C=A + B D=A - B
KONSEP penyelesaian 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 G G = F / 2 terbesar 1 4 2 3 5 1 2 3 4 5 C = A + B D = A – B E = abs( D ) F = C + E G = F / 2

8 copy dari halaman sebelumnya C F 14 18
5 copy dari halaman sebelumnya 1 2 3 4 5 C = A + B D = A – B E = abs( D ) F = C + E G = F / 2 A C C = A + B F 14 F = C+E 1 18 4 D = A - B E = abs(D) 4 - 4 G = F / 2 5 2 3 D E 9 G 9 B disingkat terbesar 5 A C 1 2 3 C = A + B E = abs( A-B ) G = (C+E) / 2 C = A + B 14 G 1 G = ( C+E ) / 2 9 3 E = abs( A – B ) 4 terbesar 2 E 9 B

9 copy dari halaman sebelumnya 5 C
C = A + B 14 G G = ( C+E ) / 2 9 E = abs( A – B ) 4 terbesar E 1 2 3 C = A + B E = abs( A-B ) G = (C+E) / 2 9 B disingkat 5 A G G = ( (A+B) abs( A – B ) ) / 2 9 terbesar 9 1 G = ( (A+B) abs( A – B ) ) / 2 B

10 Program memilih dan mencetak nilai yang terbesar
Algoritma yang ditulis dalam suatu Bahasa Pemrograman disebut PROGRAM memilih dan mencetak nilai yang terbesar

11 Karena menggunakan fungsi matematik abs( )
5 1 2 3 4 5 C = A + B D = A – B E = abs( D ) F = C + E G = F / 2 A C C = A + B F 14 F = C+E 1 18 4 D = A - B E = abs(D) 4 - 4 G = F / 2 5 2 3 D E 9 G 9 B #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; } terbesar Karena menggunakan fungsi matematik abs( ) maka file math.h yang mengandung fungsi abs( ) harus di-include-kan

12 5 C G 14 9 4 E 9 A C = A + B 1 G = ( C+E ) / 2 3 E = abs( A – B )
terbesar 2 E 1 2 3 C = A + B E = abs( A-B ) G = (C+E) / 2 9 B #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; }

13 5 G 9 9 cout << G; A G = ( (A+B) + abs( A – B ) ) / 2 terbesar
#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 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; }

15

16 Algoritma menggunakan Control Statement if

17 Soal-9 Memilih bilangan terbesar atau terkecil dari dua buah bilangan menggunakan Control statement if

18 Control Statement if

19

20 Syntax: if( ) condition

21 if( condition ) Syntax Penulisan if statement:
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 == Equal To (Sama Dengan) > Greater Than (Lebih Besar Dari)
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 pemahaman 5 == 2 contoh : if( 5 == 2 ) 5 > 2 5 < 2 5 >= 2
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 pemahaman

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 5 7 9 7 7 7 A B A B A B T = TRUE F = FALSE akan bernilai akan bernilai
condition condition condition (A == B) (A > B) (A < B) (A >= B) (A <= B) (A != B) F T (A == B) (A > B) (A < B) (A >= B) (A <= B) (A != B) F T (A == B) (A > B) (A < B) (A >= B) (A <= B) (A != B) T F T = TRUE F = FALSE

26

27 Bentuk Umum dan Cara Kerja Control Statement if

28 Bentuk Umum : IF-THEN Bentuk Umum - 1 : Bentuk Umum - 2 : IF-THEN-ELSE

29 Bentuk Umum - 1 IF-THEN Bentuk :

30 - Cara-Kerja Bentuk Umum - 1 biasa disebut : Bentuk IF-THEN Flowchart
if ( cond ) { cond TRUE - statements-true - statements- true } - next instruction next instruction - 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 - Flowchart if ( cond ) { - cond } Penulisan PROGRAM
TRUE cond - TRUE - Statements true } - next instruction Penulisan PROGRAM Terikat aturan / ketentuan Penggambaran FLOWCHART bebas

32 Bentuk Umum - 2 IF-THEN-ELSE Bentuk :

33 - cond = condition Bentuk Umum - 2 biasa disebut : Bentuk IF-THEN-ELSE
Flowchart if ( cond ) { - statements-true FALSE cond TRUE } else { - statements- false - statements- true - statements-false } next instruction - - next instruction cond = condition

34 Cara-Kerja Flowchart if ( cond ) { - } cond else - Bila nilai cond
statements-true statements-false next instruction Flowchart FALSE cond TRUE - statements- false - statements- true next instruction - Cara-Kerja 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

35 Penulisan PROGRAM terikat aturan, Penggambaran FLOWCHART bebas.
cond FALSE TRUE cond FALSE TRUE - - - - false true false true next instruction next instruction - -

36 Penulisan / Penggunaan
Beberapa contoh Penulisan / Penggunaan if statement

37 cout << “\nSelesai” ; cout << “\nSelesai” ;
Beberapa contoh penulisan / penggunaan if(cond) bentuk IF-THEN-ELSE int A=5, B=7; if(A<B) { cout << “Jakarta” ; } else cout << “Bandung” ; cout << “\nSelesai” ; 1. 2. int A=5, B=7; if(A<B) {cout << “Jakarta” ; } else {cout << “Bandung” ; cout << “\nSelesai” ; Akan tercetak : Jakarta Selesai Akan tercetak : Jakarta Selesai 3. int A=5, B=7; if(A<B) { cout << “Jakarta” ; } else { cout << “Bandung” ; } cout << “\nSelesai”); int A=5, B=7; if(A<B){cout << “Jakarta” ; } else {cout << “Bandung” ;} cout << “\nSelesai” ; 4. Akan tercetak : Jakarta Selesai Akan tercetak : Jakarta Selesai

38 Soal-9 Soal Susun program dalam bahasa C++ untuk menginput 2 (dua) buah bilangan bulat, kemudian mencetak salah satu bilangan yang nilainya terbesar. 9

39 5 5 2 A B Soal-9 Susun program dalam bahasa C++
untuk menginput 2 (dua) buah bilangan bulat, kemudian mencetak salah satu bilangan yang nilainya terbesar. MISAL NILAI YANG DIINPUT ADALAH DAN 2 5 2 5 cin 5 2 cout A B

40 Algoritma Dasar Read(A) Read(B) IF A > B then Write(A) Else
START Algoritma Dasar Read(A) Read(B) IF A > B then Write(A) Else Write(B) End If Read A Read B False A > B True Write write B A END

41 #include <iostream.h> void main() { int A, B; cin >> A;
Algoritma dalam Bahasa C++ START Cara-1 input #include <iostream.h> void main() { int A, B; cin >> A; cin >> B; if (A > B) { cout << A; } else { cout << B; A input B A B A B False A > B True print ptint B A END

42 START cin cin A > B cout cout END
FLOWCHART Cara-1 START cin A cin B A B A B False A > B True cout cout B A END

43 #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 << 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 if (B > A) cout << …... ; else if (B < A) cout << …... ; else

45 if (A > B) cout << A ; else cout << B ; if (A < B)
TEKNIK DASAR if (A < B) cout << B ; else cout << A ; if (B > A) cout << B ; else cout << A ; if (B < A) cout << A ; else cout << B ;

46

47 Cara-2 TEKNIK DASAR #include <iostream.h> void main()
input #include <iostream.h> void main() { int A, B, MAX; cin >> A; cin >> B; if (A > B) { MAX = A; } else { MAX = B; } cout << MAX; } A input B false A > B true MAX = B MAX = A print MAX

48 5 2 5 2 5 A B 5 Dengan cara menyimpan bilangan yang terbesar kedalam
sebuah variabel misal namanya MAX 5 2 5 2 cin 5 A B 5 cout KEYBOARD MAX SCREEN MEMORY

49 Cara-3 TEKNIK DASAR #include <iostream.h> void main()
{ int A, B, MAX; cin >> A; cin >> B; MAX = B; if (A > B) { MAX = A; } cout << MAX; } input A input B MAX = B A > B true MAX = A print MAX

50 Cara-4 TEKNIK DASAR #include <iostream.h> void main()
START TEKNIK DASAR Cara-4 input A #include <iostream.h> void main() { int A, B, MAX; cin >> A; MAX = A cin >> B; if (B > MAX) { MAX = B; } cout << MAX; } MAX = A input B B>MAX True False MAX = B print MAX END

51 Cara-4 TEKNIK DASAR #include <iostream.h> void main()
START input print END A MAX A>MAX False True MAX = A TEKNIK DASAR #include <iostream.h> void main() { int A, MAX; cin >> A; MAX = A if (A > MAX) { MAX = A; } cout << MAX; } Teknik inilah yang mendasari algoritma untuk mencari nilai yang terbesar atau terkecil dari sejumlah nilai yang diinput A MAX Hanya ada 2 variabel. A spesial menampung input, MAX spesial menampung nilai terbesar

52

53 misal nilai yang diinput adalah 5 dan 2 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 5 2 5 2 5 5

54 misal nilai yang diinput adalah 5 dan 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; A MAX A 5 5 5 9 5 9 9 9

55

56 Soal-10 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 10

57

58 Cara-1

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. 10 5 8 17 17 cin cout 5 17 8 A B C KEYBOARD SCREEN MEMORY

60 5 8 17 17 cin cout 17 5 8 A B C KEYBOARD SCREEN MEMORY

61 5 8 17 17 cin cout 5 8 17 A B C KEYBOARD SCREEN MEMORY

62

63

64 ? ? Apa yang dibandingkan untuk pertama kali : A dengan B B dengan A
START input A B ? False True 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 ? ? input A > B A < B A > C A < C B > A B < A
START input A B ? False True C A B C Menggunakan 3 variabel A > B A < B A > C A < C B > A B < A B > C B < C C > A C < A C > B C < B Pilih yang mudah ?

66 input START A B A > B False True C A B C Menggunakan 3 variabel A B

67 ? input START A B A > B False True C A B C Menggunakan 3 variabel ?
Mencetak atau masih membandingkan ?

68 ? ? ? input input input START A A B C Menggunakan 3 variabel B C False
True A B A > B False ? True Pilih yang mana ? A > C C > A B > C C > B ?

69 ? ? input input input START A A B C Menggunakan 3 variabel B C False
True A B A > B False ? True Pilih yang mana saja tidak mendatangkan error. Hanya saja secara logika, mana yang tepat untuk dipilih A > C C > A B > C C > B ?

70 ? ? input input START input A
Dari ilustrasi ini terlihat jelas bahwa A yang harus dibandingkan dengan C untuk mencari nilai yang terbesar A B C Menggunakan 3 variabel input B input C A B False A B A B A > B True False ? True A > C C > A B > C C > B ?

71 ? input input input START A A B C Menggunakan 3 variabel B C False
True False A > C True ? Mencetak atau masih membandingkan ?

72 ? input input input START A A B C Menggunakan 3 variabel B C False
Kondisi bila A > C true A B False A > B True A B False A > C True atau A B C A B C ? Mencetak atau masih membandingkan ?

73 Bisakah diambil kesimpulan bahwa A yang terbesar
START input A A B C Menggunakan 3 variabel input B input C Kondisi bila A > C true A B False A > B True A B False A > C True atau A B C A B C ? Bisakah diambil kesimpulan bahwa A yang terbesar ?

74 ? input input input START A A B C Menggunakan 3 variabel B C False
atau C A B False A B A > B True False A > C True ?

75 input input input START A A B C Menggunakan 3 variabel B C False
Kondisi bila A > C true A B False A > B True A B False A > C True atau A B C A B C print A

76 ? input input input START A A B C Menggunakan 3 variabel B C False
True A B A > B False A > C True print ? A

77 ? input input input START A A B C Menggunakan 3 variabel B C False
True A B False A > C True print ? A Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar Perlukah membandingkan B dengan C disini ?

78 ? input input input START A A B C Menggunakan 3 variabel B C False
True A B A > B Kondisi bila A > C False False A > C True Bila A > C False artinya A < C Atau C > A A B C print ? A Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar Perlukah membandingkan B dengan C disini ?

79 ? input input input START A A B C Menggunakan 3 variabel B C False
True False A > C True A B C print ? A Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar Perlukah membandingkan B dengan C disini ?

80 ? input input input START A A B C Menggunakan 3 variabel B C False
atau A B False True A B A > B False A > C True A B C print ? A Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar Perlukah membandingkan B dengan C disini ?

81 input input START A A B C Menggunakan 3 variabel scanf B C False True
atau C A B False True A B A > B A B C False A > C True print C print A

82 input input input START A A B C Menggunakan 3 variabel B C False
atau C A B False A > B True A B A B C False A > C True B > C print A Pasti Kesini B > C pasti False Membandingkan sesuatu yang pasti False atau True adalah pekerjaan yang tidak bermanfaat Pasti False Tidak Pernah kesini

83 input input input START A A B C Menggunakan 3 variabel B C False True
atau C A B False True A B A > B A B C False A > C True print C print A

84 input input input START A B C False True A > B False A > C True
atau C A B False True A B A > B A B C False A > C True print C print A

85 ? input input input START A B C False True A > B False A > C
atau C A B False True A B A > B False A > C True ? print C print A Mencetak atau masih membandingkan ?

86 ? ? input input input START A B C False A > B True False True False
atau C A B False A B A > B True False ? True False A > C True print C print A > C C > A B > C C > B A ?

87 B yang besar, jadi B yang dibandingkan dengan C
START input A input B input A B C atau C B yang besar, jadi B yang dibandingkan dengan C A B False A B A > B True False B > C True False A > C True print C print A ?

88 input input input START A B C False A > B True False B > C True
atau C A B False A B A > B True False B > C True False A > C True print print C print B A

89 ? input input input START A B C False A > B True False B > C
atau C A B False A B A > B True False B > C True False A > C True A B C print print C print B A ?

90 input input input START A B C False A > B True False B > C True
atau C A B False A B A > B True False B > C True False A > C True A B C print C print print C print B A

91 input input input START A B C False A > B True False B > C True
atau C A B False A B A > B True False B > C True False A > C True A B C print C print print C print B A

92 input input f input START A B C False A > B True False B > C
atau C A B False A B A > B True False B > C True False A > C True A B C print C print print C print B A

93 A > B B > C A > C print print print print
False A B A > B True False B > C True False A > C True print C print print B C print A atau atau A B C A B C A B C A B C A B C A B C

94

95 #include <iostream.h> void main() { int A,B,C; cin >> A;
Cara-1 START #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 ; } if(B > C) cout << B ; cout << C ; input A input B input C false true A > B false true false true B > C A > C print print print print C B C A A B C END Menggunakan 3 variabel

96 Karena setiap blok instruksi hanya terdiri dari satu instruksi, maka program diatas dapat ditulis menjadi : #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 ; if (B > C) cout << B ; cout << C); } A B C Menggunakan 3 variabel

97 Latihan Membaca Flowchart

98 5 7 9 5 9 7 7 5 9 7 9 5 9 5 7 9 7 5 Menggunakan 3 variabel A B C
Ada 6 kemungkinan variasi ketiga buah nilai 7 5 9 7 9 5 9 5 7 9 7 5

99 1 START 5 7 9 A B C input A Soal input B input C False A > B True False True False True B > C A > C 1 2 3 4 Ada 4 titik , , dan Untuk data diatas, maka flow akan menuju titik ? 1 2 3 4

100 START 5 7 9 A B C input A Jawab input B input C False A > B True 5 7 False True False True B > C A > C 1 2 3 4 7 9 Untuk data diatas, maka flow akan menuju atau berakhir pada titik : 1

101 2 START 5 9 7 A B C input A Soal input B input C False A > B True False True False True B > C A > C 1 2 3 4 Ada 4 titik , , dan Untuk data diatas, maka flow akan menuju titik ? 1 2 3 4

102 START 5 9 7 A B C input A Jawab input B input C False A > B True 5 9 False True False True B > C A > C 1 2 3 4 9 7 Untuk data diatas, maka flow akan menuju atau berakhir pada titik : 2

103 3 START 7 5 9 A B C input A Soal input B input C False A > B True False True False True B > C A > C 1 2 3 4 Ada 4 titik , , dan Untuk data diatas, maka flow akan menuju titik ? 1 2 3 4

104 START 7 5 9 A B C input A Jawab input B input C False A > B True 7 5 False True False True B > C A > C 1 2 3 4 7 9 Untuk data diatas, maka flow akan menuju atau berakhir pada titik : 3

105 4 START 7 9 5 A B C input A Soal input B input C False A > B True False True False True B > C A > C 1 2 3 4 Ada 4 titik , , dan Untuk data diatas, maka flow akan menuju titik ? 1 2 3 4

106 START 7 9 5 A B C input A Jawab input B input C False A > B True 7 9 False True False True B > C A > C 1 2 3 4 9 5 Untuk data diatas, maka flow akan menuju atau berakhir pada titik : 2

107 5 START 9 5 7 A B C input A Soal input B input C False A > B True False True False True B > C A > C 1 2 3 4 Ada 4 titik , , dan Untuk data diatas, maka flow akan menuju titik ? 1 2 3 4

108 START 9 5 7 A B C input A Jawab input B input C False A > B True 9 5 False True False True B > C A > C 1 2 3 4 9 7 Untuk data diatas, maka flow akan menuju atau berakhir pada titik : 4

109 6 START 9 7 5 A B C input A Soal input B input C False A > B True False True False True B > C A > C 1 2 3 4 Ada 4 titik , , dan Untuk data diatas, maka flow akan menuju titik ? 1 2 3 4

110 START 9 7 5 A B C input A Jawab input B input C False A > B True 9 7 False True False True B > C A > C 1 2 3 4 9 5 Untuk data diatas, maka flow akan menuju atau berakhir pada titik : 4

111 Cara-2

112 Cara-2 #include <iostream.h> void main() { int A,B,C, MAX;
START #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; } input A, B, C MAX = A B > MAX true MAX = B false C > MAX true MAX = C false print MAX A B C MAX Menggunakan 4 variabel END

113 Cara-3

114 #include <iostream.h> void main() { int A,B,C, MAX;
Cara-3 #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 A MAX = A input B true B > MAX false MAX = B input C true C > MAX false MAX = C MAX A B C MAX printf

115 Cara-4

116 Cara-4 Menggunakan hanya 2 variabel. Variabel A khusus untuk menampung input, dan variabel MAX khusus mencatat atau menyimpan nilai terbesar. 5 17 8 cin 8 17 A 17 cout KEYBOARD MAX MEMORY SCREEN

117 #include <iostream.h> void main() { int A, MAX; cin >> A;
Cara-4 input A #include <iostream.h> void main() { int A, MAX; cin >> A; MAX = A; if (A > MAX) cout << MAX; } MAX = A scanf A A > MAX true false MAX = A input A true A > MAX false MAX = A Algoritma ini nanti yang menjadi dasar algoritma pencarian bilangan terbesar atau terkecil dari sejumlah bilangan yang ada atau bilangan yang diinput. printf MAX

118 Cara-5

119 Cara-5 Menggunakan multi conditions dengan logical operator AND
17 8 cin 5 17 8 17 A B C cout KEYBOARD MEMORY Dengan menggunakan Logical Operator AND (&&) SCREEN #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; cout << C; }

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; cout << C; } START input A,B,C A>B && A>C true print B>A && B>C A false true print print C B 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 END Ini sebenarnya bisa diganti cukup dengan : B > C

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; cout << C; } START scanf A,B,C A>B && A>C true printf B>C A false true printf printf C B END

122 Cara-6

123 Cara-6 Berpikir lebih praktis, tapi computer-time tidak efisien 17
5 17 8 cin 5 17 8 cout 17 A B C KEYBOARD MEMORY SCREEN #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; }

124 #include <iostream.h> void main() { int A,B,C;
START #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; } input A,B,C A>B && A>C true print A B>A && B>C true print B C>A && C>B true print C END

125

126 Soal-11 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. Soal 11

127 Jawab-2 Cara-1 Menggunakan 5 variabel, 4 variabel untuk input. 1 variabel untuk MAX 5 17 8 12 scanf 5 17 8 12 17 A B C D printf KEYBOARD MEMORY SCREEN Bila bilangan yang diinput adalah 5, 17, 8 dan 12, maka tentunya akan tercetak 17

128 FLOWCHART Cara-1 START input A,B,C,D

129 5 17 8 12 A B C D START inputf A, B,C, D A>B B>C A>C C>D
B>D C>D A>D print D print C print D print B print D print C print D print A END

130 bersambung #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; } {if(C > D) cout << C; else {if (B > C) {if(B > D) cout << B; cout << D; } {if(C > D) cout << C; bersambung

131 #include <iostream.h> void main() { int A,B,C,D;
START #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; } {if(C > D) cout << C; - input A, B,C, D A>B A>C C>D A>D print D print C print D print A

132 else - else {if (B > C) {if(B > D) cout << B;
cout << D; } {if(C > D) cout << C; cout << D ; else A>B B>C C>D B>D printf D printf C printf D printf B

133 Latihan Membaca Flowchart

134 Untuk nilai yang diinput seperti diatas,
START 5 8 12 17 A B C D input A, B,C, D A>B B>C A>C C>D B>D C>D A>D 1 2 3 4 5 6 7 8 Untuk nilai yang diinput seperti diatas, Maka flow akan menuju nomor : ………

135 Soal-12 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. Soal 12

136 Untuk dapat menyelesaikan soal ini, perhatikan kembali soal no-11
dikerjakan dengan cara lain

137 Sebutkan nilai terbesar dari beberapa nilai yang diperlihatkan
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
?

149 Yang terbesar 25

150 Konsep : Selalu menyimpan nilai terbesar dalam ingatan

151 5 17 8 12 17 Jawab Soal-11 Cara-2 Menggunakan 2 variabel,
variabel : A khusus untuk menampung input variabel : B khusus untuk menampung nilai terbesar 5 17 8 12 cin A 17 cout MAX A MAX KEYBOARD MEMORY SCREEN Bila bilangan yang diinput adalah 5, 17, 8 dan 12, maka tentunya akan tercetak 17

152 5 5 17 8 12 5 A Cara ini hanya menggunakan 2 variabel.
9. 152 5 17 8 12 5 17 A 5 KEYBOARD MAX SCREEN MEMORY Cara ini hanya menggunakan 2 variabel. Variabel A khusus menerima input Variabel MAX khusus menampung nilai terbesar

153 5 17 8 12 17 A 17 Cara ini hanya menggunakan 2 variabel.
9. 153 5 17 8 12 17 17 A 17 KEYBOARD MAX SCREEN MEMORY Cara ini hanya menggunakan 2 variabel. Variabel A khusus menerima input Variabel MAX khusus menampung nilai terbesar

154 5 17 8 12 8 A 17 Cara ini hanya menggunakan 2 variabel.
9. 154 5 17 8 12 8 17 A 17 KEYBOARD MAX SCREEN MEMORY Cara ini hanya menggunakan 2 variabel. Variabel A khusus menerima input Variabel MAX khusus menampung nilai terbesar

155 5 17 8 12 12 A 17 Cara ini hanya menggunakan 2 variabel.
9. 155 5 17 8 12 12 17 A 17 KEYBOARD MAX SCREEN MEMORY Cara ini hanya menggunakan 2 variabel. Variabel A khusus menerima input Variabel MAX khusus menampung nilai terbesar

156 #include <iostream.h> void main() { int A, MAX; cin >> A;
MAX = A; if (A > MAX) cout << MAX; } input A MAX = A input A A> MAX MAX = A input A A>MAX MAX = A input A A>MAX MAX = A print MAX

157 Menginput 4 buah bilangan dan mencetak salah satu bilangan yang nilainya terbesar #include <iostream.h> void main() { int A, i, MAX; cin >> A; MAX = A; for (i=1; i <= 3; i=i+1) if (A > MAX) } cout << MAX; 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) { if (A > MAX) i = i + 1; } cout << MAX; Instruksi while belum diterangkan penggunaannya disisni hanya dipinjam satu model penggunaan

159 KEMBALI KE- Soal-12 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. Soal 9. 159 12

160

161 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 <= ...; i=i+1) if (A > MAX) } cout << MAX;

162 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) if (A > MAX) } cout << MAX;

163 Soal-13 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. Soal 9. 163 13

164 Bila bilangan yang diinput adalah 5, 17 dan 8, maka tentunya akan tercetak 5 8 17
atau tercetak : 8 17 5 17 8 input 5 17 8 A B C KEYBOARD print 5 8 17

165 cara-1 AB , A disebelah kiri B maksudnya A lebih kecil dati B
FLOWCHART cara-1 START input A,B,C BA AB A < B 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

166 FLOWCHART cara-1 START input A,B,C BA AB A < B ?

167 FLOWCHART cara-1 START input A,B,C BA AB A < B B < C

168 FLOWCHART cara-1 START input A,B,C BA AB A < B ABC B < C

169 input A,B,C BA AB A < B B < C ABC A,B,C

170 input A,B,C BA AB A < B C AB B < C ABC A,B,C 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 BA AB A < B C AB B < C ABC ? A,B,C

172 input A,B,C BA AB A < B C AB B < C ABC A < C A,B,C

173 input A,B,C BA AB A < B C AB B < C ABC ? A < C A,B,C

174 input A,B,C BA AB A < B C AB B < C ABC A < C ACB A,B,C

175 input A,B,C BA AB A < B C AB B < C ABC A < C ACB A,B,C A,C,B

176 ? input A,B,C BA AB A < B C AB B < C ABC A < C ACB A,B,C

177 input A,B,C BA AB A < B C AB B < C ABC CAB A < C ACB A,B,C A,C,B

178 input A,B,C BA AB A < B C AB B < C ABC CAB A < C ACB A,B,C C,A,B A,C,B

179 input A,B,C BA AB A < B C AB B < C ABC CAB A < C ACB A,B,C C,A,B A,C,B

180 input A,B,C BA AB A < B C AB B < C ABC CAB A < C ACB A,B,C C,A,B A,C,B

181 input A,B,C BA AB A < B C AB A < C BAC B < C ABC CAB A < C ACB A,B,C C,A,B A,C,B

182 input A,B,C BA AB A < B C AB A < C BAC B < C ABC CAB B,A,C A < C ACB A,B,C C,A,B A,C,B

183 START input A,B,C BA AB A < B C BA C AB A < C BAC B < C ABC CAB B,A,C A < C ACB A,B,C C,A,B A,C,B

184 ? START input A,B,C BA AB A < B C BA C AB A < C BAC B < C ABC

185 START input A,B,C BA AB A < B C BA C AB A < C BAC B < C ABC CAB B < C B,A,C A < C ACB A,B,C C,A,B A,C,B

186 START input A,B,C BA AB A < B C BA C AB A < C BAC B < C ABC BCA CBA CAB B < C B,A,C A < C ACB A,B,C C,A,B A,C,B

187 START input A,B,C BA AB A < B C BA C AB A < C BAC B < C ABC BCA CBA CAB B < C B,A,C A < C ACB A,B,C B,C,A C,A,B A,C,B

188 START input A,B,C BA AB A < B C BA C AB A < C BAC B < C ABC BCA CBA CAB B < C B,A,C A < C ACB A,B,C C,A,B B,C,A C,A,B A,C,B

189 START input A,B,C BA AB A < B C BA C AB A < C BAC B < C ABC BCA CBA CAB B < C B,A,C A < C ACB A,B,C C,A,B B,C,A C,A,B A,C,B

190 START input A,B,C BA AB A < B C BA C AB A < C BAC B < C ABC BCA CBA CAB B < C B,A,C A < C ACB A,B,C C,A,B B,C,A C,A,B A,C,B

191 START input A,B,C BA AB A < B C BA C AB A < C BAC B < C ABC BCA CBA CAB B < C B,A,C A < C ACB A,B,C C,A,B B,C,A C,A,B A,C,B END

192 START input A,B,C BA AB A < B C BA C AB A < C BAC B < C ABC BCA CBA CAB B < C B,A,C A < C ACB A,B,C C,A,B B,C,A C,A,B A,C,B END

193 #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; cout << C << “ “ << A << “ “ << B; } cout << B << “ “ << A << “ “ << C; { if(B<C) cout << B << “ “ << C << “ “ << A; cout << C << “ “ << B << “ “ << A; START input A,B,C END A,C,B A < B B < C A < C C,A,B AB ABC C ACB CAB B,A,C B,C,A BAC BA BCA CBA

194 cout << A << “ “ << B << “ “ << C; else
if(A<B) { if(B<C) cout << A << “ “ << B << “ “ << C; else {if(A<C) cout << A << “ “ << C << “ “ << B; cout << C << “ “ << A << “ “ << B; } A < B AB C AB B < C ABC A < C A,B,C CAB ACB C,A,B A,C,B

195 cout << B << “ “ << A << “ “ << C;
} else { if(A<C) cout << B << “ “ << A << “ “ << C; {if(B<C) cout << B << “ “ << C << “ “ << A; cout << C << “ “ << B << “ “ << A; C BA A < C BAC CBA B < C BCA B,A,C C,A,B B,C,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 A<B & B<C C,A,B A,C,B B,A,C 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; {if(B<A && A<C) cout << B << “ “ << A << “ “ << C; {if(B<C && C<A) cout << B << “ “ << C << “ “ << A; {if(C<A && A<B) cout << C << “ “ << A << “ “ << B; cout << C << “ “ << B << “ “ << A; }

199 seleseai Tahap-3


Download ppt "Introduction 03 using to Algorithm C / C++ teknik dasar Algoritma."

Presentasi serupa


Iklan oleh Google