Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehSuryadi Sudjarwadi Telah diubah "6 tahun yang lalu
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; }
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
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
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 ;
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
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
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
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
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
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
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
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
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.