Memilih bilangan yang nilainya terbesar atau terkecil dari
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 5 cin 7 5 A B cout 7
dapat ditulis setelah dan konsep atau draf secara manual sudah dibuat
Draf KONSEP penyelesaian MENCARI YANG TERBESAR Misal yang diinput nilai : 7 + 5 = 12 7– 5=2 7 dan 5 12 + 2 = 14 14 / 2 = 7 |2|=2 7 terbesar Misal yang diinput nilai : 4 + 9 = 13 4– 9=-5 4 dan 9 13 + 5 = 18 18 / 2 = 9 |-5|=5 9 terbesar
Draf KONSEP penyelesaian MENCARI YANG TERKECIL Misal yang diinput nilai : 7 + 5 = 12 7– 5=2 7 dan 5 12 - 2 = 10 10 / 2 = 5 |2|=2 5 terkecil Misal yang diinput nilai : 4 + 9 = 13 4– 9=-5 4 dan 9 13 - 5 = 8 8/2=4 |-5|=5 4 terkecil
Draf KONSEP penyelesaian A MENCARI YANG TERBESAR 5 C C=A + B 1 D=A - B 2 B 9 14 F = C+E E = abs(D) -4 3 D 1 2 3 4 5 C=A+B D=A–B E = abs( D ) F=C+E G=F/2 4 4 E F 18 5 G=F/2 G 9 terbesar
A 5 copy dari halaman sebelumnya C C=A+B 14 1 B 9 D 5 4 5 E G 9 E = abs( A – B ) 2 9 14 terbesar 4 E G G = ( C+E ) / 2 3 C=A+B D=A–B E = abs( D ) F=C+E G=F/2 C C=A+B 1 B 18 4 disingkat A F F = C+E D=A-B E = abs(D) -4 2 3 1 2 3 4 5 9 terbesar 1 2 3 C=A+B E = abs( A-B ) G = (C+E) / 2
A 5 copy dari halaman sebelumnya C C=A+B E = abs( A – B ) B 14 G G = ( C+E ) / 2 4 terbesar E 9 disingkat A 9 1 2 3 C=A+B E = abs( A-B ) G = (C+E) / 2 5 G = ( (A+B) + abs( A – B ) ) / 2 G 9 terbesar B 9 G = ( (A+B) + abs( A – B ) ) / 2
Algoritma yang ditulis dalam suatu Bahasa Pemrograman disebut PROGRAM
A 5 C C=A+B 14 1 D=A-B E = abs(D) -4 2 3 B 9 D #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; } F F = C+E 18 4 4 5 E G 9 1 2 3 4 5 C=A+B D=A–B E = abs( D ) F=C+E G=F/2 terbesar Karena menggunakan fungsi matematik abs( ) maka file math. h yang mengandung fungsi abs( ) harus di-include-kan
A 5 C C=A+B 1 E = abs( A – B ) 2 B 9 14 4 E #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; } G G = ( C+E ) / 2 3 9 terbesar 1 2 3 C=A+B E = abs( A-B ) G = (C+E) / 2
A 5 G = ( (A+B) + abs( A – B ) ) / 2 G 9 terbesar B 9 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
5 7 9 7 7 7 A B A B akan condition bernilai (A == B) F (A == B) T (A > B) F (A > B) T (A > B) F (A < B) T (A < B) F (A >= B) T (A <= B) F (A <= B) T (A != B) F T = TRUE F = FALSE
Bentuk Umum - 1 biasa disebut : Bentuk IF-THEN if ( cond ) { - statements-true } - Flowchart cond TRUE - statementstrue next instruction Cara-Kerja - next instruction 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
Flowchart if ( cond ) { - Statements - true } - cond - next instruction Penulisan PROGRAM Terikat aturan / ketentuan TRUE - cond TRUE - - Penggambaran FLOWCHART bebas
Bentuk Umum - 2 biasa disebut : Bentuk IF-THEN-ELSE if ( cond ) { - statements-true } else { - statements-false } - next instruction Flowchart FALSE - cond statementsfalse - TRUE - statementstrue next instruction cond = condition
if ( cond ) { - statements-true } else { } - - statements-false Flowchart FALSE - cond statementsfalse TRUE - statementstrue next instruction Cara-Kerja - 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
Penulisan PROGRAM terikat aturan, Penggambaran FLOWCHART bebas. TRUE cond FALSE TRUE - - true - false next instruction true - - FALSE - false next instruction
Beberapa contoh penulisan / penggunaan if(cond) bentuk IF-THEN-ELSE 1. int A=5, B=7; if(A<B) { cout << “Jakarta” ; } else { cout << “Bandung” ; } cout << “n. Selesai” ; 2. Akan tercetak : Jakarta Selesai 3. int A=5, B=7; if(A<B) { cout << “Jakarta” ; } else { cout << “Bandung” ; } cout << “n. Selesai”); Akan tercetak : Jakarta Selesai int A=5, B=7; if(A<B) {cout << “Jakarta” ; } else {cout << “Bandung” ; } cout << “n. Selesai” ; 4. int A=5, B=7; if(A<B){cout << “Jakarta” ; } else {cout << “Bandung” ; } cout << “n. Selesai” ; 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. MISAL NILAI YANG DIINPUT ADALAH 5 DAN 2 5 2 cin 5 A 2 B cout 5
START Algoritma Dasar Read(A) Read(B) IF A > B then Write(A) Else Write(B) End If False Write Read A Read B A>B True write B END A
Algoritma dalam Bahasa C++ Cara-1 #include <iostream. h> void main() { int A, B; cin >> A; cin >> B; if (A > B) { cout << A; } else { cout << B; } } START AB print False input A input B A>B True AB ptint B END A
FLOWCHART Cara-1 AB cout START False cin A cin B A>B True AB cout B END A
#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 << …. . ; else cout << …. . ; if (B > A) cout << …. . . ; else cout << …. . . ; if (B < A) cout << …. . . ; else cout << …. . . ;
if (A > B) cout << A ; else cout << 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 ;
TEKNIK DASAR Cara-2 #include <iostream. h> void main() { int A, B, MAX; cin >> A; cin >> B; if (A > B) { MAX = A; } else { MAX = B; } cout << MAX; } input A input false A>B MAX = B B true MAX = A print MAX
Dengan cara menyimpan bilangan yang terbesar kedalam sebuah variabel misal namanya MAX 5 2 cin KEYBOARD 5 2 A B 5 cout 5 MAX MEMORY SCREEN
TEKNIK DASAR Cara-3 #include <iostream. h> input A input B void main() { int A, B, MAX; cin >> A; cin >> B; MAX = B; if (A > B) A>B { MAX = A; } true MAX = A cout << MAX; } print MAX
START Cara-4 input TEKNIK DASAR A #include <iostream. h> void main() MAX = A { int A, B, MAX; cin >> A; input B MAX = A cin >> B; if (B > MAX) True B>MAX False { MAX = B; } cout << MAX; } print END MAX = B
Cara-4 START #include <iostream. h> void main() { int A, MAX; cin >> A; MAX = A cin >> A; if (A > MAX) { MAX = A; } cout << MAX; } A input TEKNIK DASAR A MAX = A input A True A>MAX False MAX = A MAX Hanya ada 2 variabel. A spesial menampung input, MAX spesial menampung nilai terbesar print END Teknik inilah yang mendasari algoritma untuk mencari nilai yang terbesar atau terkecil dari sejumlah nilai yang diinput MAX
Urutan pelaksanaan : A MAX 1) int A, MAX; 2) cin >> A; 5 3) MAX = A; 5 5 4) cin A; 2 5 5) if (A>max) MAX = A; 2 5 6) cut << MAX; 5 misal nilai yang diinput adalah 5 dan 2
Urutan pelaksanaan : A MAX 1) int A, MAX; 2) cin >> A; 5 3) MAX = A; 5 5 4) cin A; 9 5 5) if (A>max) MAX = A; 9 9 6) cut << MAX; 9 misal nilai yang diinput adalah A 5 dan 9
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. 5 8 17 cin KEYBOARD 5 A 17 B MEMORY 8 C cout 17 SCREEN
5 8 17 cin KEYBOARD 17 5 A B MEMORY 8 C cout 17 SCREEN
5 8 17 cin KEYBOARD 5 A 8 17 B C MEMORY cout 17 SCREEN
START A B C Menggunakan 3 variabel False Apa yang dibandingkan untuk pertama kali : A dengan B B dengan A A dengan C C dengan A B dengan C C dengan B input A input B input C ? True
START A B C Menggunakan 3 variabel False A>B A<B A>C A<C input A input B input C ? B>A B<A B>C B<C True C>A C<A C>B C<B Pilih yang mudah
START A B C Menggunakan 3 variabel AB False input A input B input C A>B True AB
START A B C Menggunakan 3 variabel AB False input A input B input C A>B True AB Mencetak atau masih membandingkan ?
START A B C Menggunakan 3 variabel AB False input A input B input C A>B True False Pilih yang mana ? AB ? A>C C>A B>C C>B True
START A B C Menggunakan 3 variabel AB False input A input B input C A>B True False Pilih yang mana saja tidak mendatangkan error. Hanya saja secara logika, mana yang tepat untuk dipilih AB ? A>C C>A B>C C>B True
START A B C Menggunakan 3 variabel AB False input A input B input C A>B True False AB ? A>C C>A B>C C>B Dari ilustrasi ini terlihat jelas bahwa A yang harus dibandingkan dengan C untuk mencari nilai yang terbesar True
START A B C Menggunakan 3 variabel AB False input A input B input C A>B True False AB A>C True Mencetak atau masih membandingkan ?
START A B C Menggunakan 3 variabel AB False input A input B input C A>B True False Kondisi bila A > C true AB A>C atau True ABC Mencetak atau masih membandingkan ? ABC
START A B C Menggunakan 3 variabel AB False input A input B input C A>B True False Kondisi bila A > C true AB A>C atau True ABC Bisakah diambil kesimpulan bahwa A yang terbesar ? ABC
START A B C Menggunakan 3 variabel AB False input A input B input C A>B True False Kondisi bila A > C true AB A>C atau True ABC print A ABC
START A B C Menggunakan 3 variabel AB False input A input B input C A>B True False AB A>C True print A
START A B C Menggunakan 3 variabel AB False input A input B input C A>B True False AB A>C True print Perlukah membandingkan B dengan C disini ? Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar A
START A B C Menggunakan 3 variabel AB False Kondisi bila A > C False Bila A > C False artinya A<C Atau C > A input B input C A>B True False AB A>C True print ABC Perlukah membandingkan B dengan C disini ? Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar A
START A B C Menggunakan 3 variabel AB False input A input B input C A>B True False AB A>C True print ABC Perlukah membandingkan B dengan C disini ? Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar A
START A B C Menggunakan 3 variabel AB False input A input B input C A>B True atau AB ABC False A>C True print ABC Perlukah membandingkan B dengan C disini ? ABC Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar A
START A B C Menggunakan 3 variabel AB False input A scanf B input C A>B True ABC False print ABC atau AB A>C C ABC True print A
START A B C Menggunakan 3 variabel AB False input A input B input C A>B True ABC False ABC B>C pasti False Membandingkan sesuatu yang pasti False atau True adalah pekerjaan yang tidak bermanfaat atau AB A>C Pasti Kesini Pasti False True print B>C Tidak Pernah kesini ABC A
START A B C Menggunakan 3 variabel AB False input A input B input C A>B True ABC False print ABC atau AB A>C C ABC True print A
START AB False input A input B input C A>B True ABC False print ABC atau AB A>C C ABC True print A
START AB False input A input B input C A>B True ABC False print Mencetak atau masih membandingkan ? atau AB A>C C ABC True print A
START AB False ? A>C C>A B>C C>B False True input A input B input C A>B True atau AB ABC False print A>C C ABC True print A
START B yang besar, jadi B yang dibandingkan dengan C False AB B>C False True input A input B input C A>B True atau AB ABC False print A>C C ABC True print A
START AB False B>C False input A input B input C A>B True print True ABC False B atau AB print A>C C ABC True print A
START AB False ABC B>C False input A input B input C A>B True print True ABC False B atau AB print A>C C ABC True print A
START AB False ABC print B>C C False input A input B input C A>B True print True ABC False B atau AB print A>C C ABC True print A
START AB False ABC print B>C C False input A input B input C A>B True print True ABC False B atau AB print A>C C ABC True print A
START AB False ABC print B>C C False input A input f B input C A>B True print True ABC False B atau AB print A>C C ABC True print A
AB False print B>C False A>B True AB False print C True B print A>C C True print atau ABC ABC
Cara-1 #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 ; } START input A input B input C false print B>C C A>B true print false B } A B C Menggunakan 3 variabel true END print A>C C true print A
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 ; else if (B > C) cout << B ; else cout << C); A B C Menggunakan 3 variabel
- Slides: 86