Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Penggunaan if dan teknik dasar bagian 3

595 views

Published on

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

Published in: Technology
  • Be the first to comment

Penggunaan if dan teknik dasar bagian 3

  1. 1. Memilih bilangan terbesar atau terkecil dari dua buah bilangan
  2. 2. Soal-8. Susun algoritma yang ditulis dalam Bahasa C++, untuk menginput dua buah bilangan dan mencetak salah satu bilangan yang nilainya terbesar 7 7 5 7 5 A B cin cout
  3. 3. dapat ditulis setelah dan konsep atau draf secara manual sudah dibuat
  4. 4. KONSEP penyelesaian Draf Misal yang diinput nilai : 7 dan 5 7 + 5 = 12 7 – 5 = 2 | 2 | = 2 12 + 2 = 14 14 / 2 = 7 7 terbesar Misal yang diinput nilai : 4 dan 9 4 + 9 = 13 4 – 9 = - 5 | - 5 | = 5 13 + 5 = 18 18 / 2 = 9 9 terbesar MENCARI YANG TERBESAR
  5. 5. KONSEP penyelesaian Draf Misal yang diinput nilai : 7 dan 5 7 + 5 = 12 7 – 5 = 2 | 2 | = 2 12 - 2 = 10 10 / 2 = 5 5 terkecil Misal yang diinput nilai : 4 dan 9 4 + 9 = 13 4 – 9 = - 5 | - 5 | = 5 13 - 5 = 8 8 / 2 = 4 4 terkecil MENCARI YANG TERKECIL
  6. 6. KONSEP penyelesaian Draf MENCARI YANG TERBESAR 5A 9B 14 - 4 4 C D E C=A + B D=A - B E = abs(D) 18 F F = C+E 9G G = F / 2 terbesar 2 1 3 4 5 1 2 3 4 5 C = A + B D = A – B E = abs( D ) F = C + E G = F / 2
  7. 7. 5A 9B 14 - 4 4 C D E C = A + B D = A - B E = abs(D) 18 F F = C+E 9G G = F / 2 terbesar 5A 9B 14 4 C E C = A + B E = abs( A – B ) 9 G G = ( C+E ) / 2 terbesar disingkat copy dari halaman sebelumnya 2 1 3 4 5 2 1 3 1 2 3 4 5 C = A + B D = A – B E = abs( D ) F = C + E G = F / 2 1 2 3 C = A + B E = abs( A-B ) G = (C+E) / 2
  8. 8. 5A 9B 14 4 C E C = A + B E = abs( A – B ) 9 G G = ( C+E ) / 2 terbesar 5A 9B 9 G G = ( (A+B) + abs( A – B ) ) / 2 terbesar disingkat copy dari halaman sebelumnya 1 2 3 C = A + B E = abs( A-B ) G = (C+E) / 2 1 G = ( (A+B) + abs( A – B ) ) / 2
  9. 9. Algoritma yang ditulis dalam suatu Bahasa Pemrograman disebut PROGRAM
  10. 10. 5A 9B 14 - 4 4 C D E C = A + B D = A - B E = abs(D) 18 F F = C+E 9G G = F / 2 terbesar 2 1 3 4 5 1 2 3 4 5 C = A + B D = A – B E = abs( D ) F = C + E G = F / 2 #include <iostream.h> #include<math.h> void main() { int A,B,C,D,E,F,G; cin >> A >> B; C = A + B; D = A – B; E = abs( D ); F = C + E; G = F / 2; cout << G; } Karena menggunakan fungsi matematik abs( ) maka file math.h yang mengandung fungsi abs( ) harus di-include-kan
  11. 11. 5A 9B 14 4 C E C = A + B E = abs( A – B ) 9 G G = ( C+E ) / 2 terbesar 1 2 3 C = A + B E = abs( A-B ) G = (C+E) / 2#include <iostream.h> #include<math.h> void main() { int A,B,C,E,G; cin >> A >> B; C = A + B; E = abs( A - B ); G = ( C + E ) / 2; cout << G; } 2 1 3
  12. 12. 5A 9B 9 G G = ( (A+B) + abs( A – B ) ) / 2 terbesar G = ( (A+B) + abs( A – B ) ) / 2 #include <iostream.h> #include<math.h> void main() { int A,B,G; cin >> A >> B; G = ( (A+B) + abs( A – B ) ) / 2; cout << G; }
  13. 13. #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; }
  14. 14. Memilih bilangan terbesar atau terkecil dari dua buah bilangan menggunakan Control statement if
  15. 15. 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)
  16. 16. 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)
  17. 17. 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
  18. 18. 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
  19. 19. (A == B) (A > B) (A < B) (A >= B) (A <= B) (A != B) condition akan bernilai F F T F T T T = TRUE F = FALSE (A == B) (A > B) (A < B) (A >= B) (A <= B) (A != B) condition akan bernilai F T F T F T (A == B) (A > B) (A < B) (A >= B) (A <= B) (A != B) condition akan bernilai T F F T T F 5 A 7 B 9 A 7 B 7 A 7 B
  20. 20. if ( cond ) { - - - - - } - - - statements-true next instruction Flowchart Bentuk Umum - 1 biasa disebut : Bentuk IF-THEN cond - - - - - - statements- true - - - - next instruction TRUE Cara-Kerja Bila nilai cond - TRUE, maka kerjakan semua instruksi yang ada dalam statements-true Setelah selesai, lanjutkan ke next-instruction - FALSE, maka langsung ‘meloncat’ mengerjakan isnstruksi yang ada di next-instruction
  21. 21. if ( cond ) { - - - - - } - - - Statements true next instruction Flowchart cond - - - - - - - - - - TRUE cond - - - - - - - - - - TRUE Penulisan PROGRAM Terikat aturan / ketentuan Penggambaran FLOWCHART bebas
  22. 22. if ( cond ) { - - - - - } else { - - - - - } - - - statements-true statements-false next instruction Flowchart Bentuk Umum - 2 biasa disebut : Bentuk IF-THEN-ELSE cond - - - - - - - - - - - - statements- false statements- true - - - - next instruction cond = condition TRUEFALSE
  23. 23. 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
  24. 24. cond - - - - - - - - - - - - falsetrue - - - - next instruction TRUE FALSE Penulisan PROGRAM terikat aturan, Penggambaran FLOWCHART bebas. cond - - - - - - - - - - - - false true - - - - next instruction TRUE FALSE
  25. 25. 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
  26. 26. Soal Susun program dalam bahasa C++ untuk menginput 2 (dua) buah bilangan bulat, kemudian mencetak salah satu bilangan yang nilainya terbesar.
  27. 27. Soal-9 Susun program dalam bahasa C++ untuk menginput 2 (dua) buah bilangan bulat, kemudian mencetak salah satu bilangan yang nilainya terbesar. A 25 5 cin cout 5 2 B MISAL NILAI YANG DIINPUT ADALAH 5 DAN 2
  28. 28. Read(A) Read(B) IF A > B then Write(A) Else Write(B) End If START Read Read write END A B AB A > B False True Write Algoritma Dasar
  29. 29. #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 > B False True print A BA B Algoritma dalam Bahasa C++
  30. 30. FLOWCHART Cara-1 START cin cin cout END A B AB A > B False True cout A BA B
  31. 31. 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;
  32. 32. 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 << …... ;
  33. 33. if (A > B) cout << A ; else cout << B ; if (A < B) cout << B ; else cout << A ; if (B > A) cout << B ; else cout << A ; if (B < A) cout << A ; else cout << B ; TEKNIK DASAR
  34. 34. Cara-2 input input print A B MAX A > B false 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; } TEKNIK DASAR
  35. 35. BA 25 5 KEYBOARD SCREEN cin MEMORY cout 5 2 5 MAX Dengan cara menyimpan bilangan yang terbesar kedalam sebuah variabel misal namanya MAX
  36. 36. Cara-3 input input print A B MAX A > B true MAX = A MAX = B #include <iostream.h> void main() { int A, B, MAX; cin >> A; cin >> B; MAX = B; if (A > B) { MAX = A; } cout << MAX; } TEKNIK DASAR
  37. 37. Cara-4 START input input print END A B MAX B>MAX False True MAX = B MAX = A TEKNIK DASAR #include <iostream.h> void main() { int A, B, MAX; cin >> A; MAX = A cin >> B; if (B > MAX) { MAX = B; } cout << MAX; }
  38. 38. Cara-4 START input input print END A A MAX A>MAX False True MAX = A MAX = A TEKNIK DASAR#include <iostream.h> void main() { int A, MAX; cin >> A; MAX = A cin >> A; if (A > MAX) { MAX = A; } cout << MAX; } A MAX Hanya ada 2 variabel. A spesial menampung input, MAX spesial menampung nilai terbesar Teknik inilah yang mendasari algoritma untuk mencari nilai yang terbesar atau terkecil dari sejumlah nilai yang diinput
  39. 39. Urutan pelaksanaan : 1) int A,MAX; 2) cin >> A; 3) MAX = A; 4) cin A; 5) if (A>max) MAX = A; 6) cut << MAX; A MAX 5 5 2 5 5 2 5 5 misal nilai yang diinput adalah 5 dan 2
  40. 40. A misal nilai yang diinput adalah 5 dan 9 A MAX 5 5 9 9 5 9 5 9 Urutan pelaksanaan : 1) int A,MAX; 2) cin >> A; 3) MAX = A; 4) cin A; 5) if (A>max) MAX = A; 6) cut << MAX;
  41. 41. 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.
  42. 42. 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 KEYBOARD SCREEN cin MEMORY cout 5 8 17 8 C
  43. 43. BA 517 17 KEYBOARD SCREEN cin MEMORY cout 5 8 17 8 C
  44. 44. BA 85 17 KEYBOARD SCREEN cin MEMORY cout 5 8 17 17 C
  45. 45. START input input A B ? False True input C A B C Menggunakan 3 variabel Apa yang dibandingkan untuk pertama kali : A dengan B B dengan A A dengan C C dengan A B dengan C C dengan B
  46. 46. A B C Menggunakan 3 variabel B > A B < A B > C B < C A > B A < B A > C A < C C > A C < A C > B C < B Pilih yang mudah START input input A B ? False True input C
  47. 47. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B
  48. 48. A B C Menggunakan 3 variabel START input input A B A > B False True input C A B Mencetak atau masih membandingkan ? A B
  49. 49. A B C Menggunakan 3 variabel A > C C > A B > C C > B START input input A B A > B False True input C A B TrueFalse ? A B Pilih yang mana ?
  50. 50. A B C Menggunakan 3 variabel A > C C > A B > C C > B START input input A B A > B False True input C A B TrueFalse ? A B Pilih yang mana saja tidak mendatangkan error. Hanya saja secara logika, mana yang tepat untuk dipilih
  51. 51. A B C Menggunakan 3 variabel A > C C > A B > C C > B START input input A B A > B False True input C A B Dari ilustrasi ini terlihat jelas bahwa A yang harus dibandingkan dengan C untuk mencari nilai yang terbesarA B A B TrueFalse ?
  52. 52. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B TrueFalse A > C Mencetak atau masih membandingkan ?
  53. 53. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B TrueFalse A > C Mencetak atau masih membandingkan ? A B C A B C atau Kondisi bila A > C true
  54. 54. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B TrueFalse A > C Bisakah diambil kesimpulan bahwa A yang terbesar ? A B C A B C atau Kondisi bila A > C true
  55. 55. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C
  56. 56. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B TrueFalse A > C print A A B C A B C atau Kondisi bila A > C true
  57. 57. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B TrueFalse A > C print A
  58. 58. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B TrueFalse A > C print A Perlukah membandingkan B dengan C disini ? Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar
  59. 59. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B TrueFalse A > C print A Perlukah membandingkan B dengan C disini ? A B C Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar Kondisi bila A > C False Bila A > C False artinya A < C Atau C > A
  60. 60. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B TrueFalse A > C print A Perlukah membandingkan B dengan C disini ? A B C Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar
  61. 61. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print A Perlukah membandingkan B dengan C disini ? A B C Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar
  62. 62. A B C Menggunakan 3 variabel START input scanf A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C A B C
  63. 63. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print AB > CA B C Pasti Kesini Tidak Pernah kesini B > C pasti False Membandingkan sesuatu yang pasti False atau True adalah pekerjaan yang tidak bermanfaat Pasti False
  64. 64. A B C Menggunakan 3 variabel START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C A B C
  65. 65. START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C A B C
  66. 66. START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C Mencetak atau masih membandingkan ?
  67. 67. START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C TrueFalse ? A > C C > A B > C C > B
  68. 68. START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C TrueFalse B > C B yang besar, jadi B yang dibandingkan dengan C
  69. 69. START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C TrueFalse B > C print B
  70. 70. START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C TrueFalse B > C print B A B C
  71. 71. START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C TrueFalse B > C print Bprint C A B C
  72. 72. START input input A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C TrueFalse B > C print Bprint C A B C
  73. 73. START input input f A B A > B False True input C A BA B A B C A B C atau TrueFalse A > C print Aprint C TrueFalse B > C print Bprint C A B C
  74. 74. A > B False True A BA B A B C A B C atau TrueFalse A > C print Aprint C TrueFalse B > C print Bprint C A B C A B CA B C A B C atau
  75. 75. #include <iostream.h> void main() { int A,B,C; cin >> A; cin >> B); cin >> C); if(A > B) { if(A > C) cout << A ; else cout << C ; } else { if(B > C) cout << B ; else cout << C ; } } Cara-1 START input input print END A B print A > B false true input C A > CB > C printprint truetruefalse false ACBC A B C Menggunakan 3 variabel
  76. 76. #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
  77. 77. 5 7 9 A B C Menggunakan 3 variabel 5 9 7 7 5 9 7 9 5 9 5 7 9 7 5 Ada 6 kemungkinan variasi ketiga buah nilai
  78. 78. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 5 7 9 A B C 1 Ada 4 titik , , dan Untuk data diatas, maka flow akan menuju titik . . . . . ? 1 2 3 4
  79. 79. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 5 7 9 A B C 5 7 7 9 Untuk data diatas, maka flow akan menuju atau berakhir pada titik : 1
  80. 80. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 5 9 7 A B C 2 Ada 4 titik , , dan Untuk data diatas, maka flow akan menuju titik . . . . . ? 1 2 3 4
  81. 81. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 5 9 7 A B C 5 9 9 7 Untuk data diatas, maka flow akan menuju atau berakhir pada titik : 2
  82. 82. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 7 5 9 A B C 3 Ada 4 titik , , dan Untuk data diatas, maka flow akan menuju titik . . . . . ? 1 2 3 4
  83. 83. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 7 5 9 A B C 7 5 7 9 Untuk data diatas, maka flow akan menuju atau berakhir pada titik : 3
  84. 84. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 7 9 5 A B C 4 Ada 4 titik , , dan Untuk data diatas, maka flow akan menuju titik . . . . . ? 1 2 3 4
  85. 85. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 7 9 5 A B C 7 9 9 5 Untuk data diatas, maka flow akan menuju atau berakhir pada titik : 2
  86. 86. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 9 5 7 A B C 5 Ada 4 titik , , dan Untuk data diatas, maka flow akan menuju titik . . . . . ? 1 2 3 4
  87. 87. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 9 5 7 A B C 9 5 9 7 Untuk data diatas, maka flow akan menuju atau berakhir pada titik : 4
  88. 88. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 9 7 5 A B C 6 Ada 4 titik , , dan Untuk data diatas, maka flow akan menuju titik . . . . . ? 1 2 3 4
  89. 89. START input input A B A > B False True input C TrueFalse A > C TrueFalse B > C 1 2 3 4 9 7 5 A B C 9 7 9 5 Untuk data diatas, maka flow akan menuju atau berakhir pada titik : 4
  90. 90. #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; } Cara-2 A B C MAX Menggunakan 4 variabel START input print END A, B, C MAX B > MAX false true MAX = B MAX = A C > MAX false true MAX = C
  91. 91. #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 input printf A B MAX B > MAX false true MAX = B MAX = A C > MAX false true MAX = C input C Cara-3 A B C MAX
  92. 92. A 8 17KEYBOARD SCREEN cin MEMORY cout 5 17 8 17 MAX Menggunakan hanya 2 variabel. Variabel A khusus untuk menampung input, dan variabel MAX khusus mencatat atau menyimpan nilai terbesar. Cara-4
  93. 93. #include <iostream.h> void main() { int A, MAX; cin >> A; MAX = A; cin >> A; if (A > MAX) MAX = A; cin >> A; if (A > MAX) MAX = A; cout << MAX; } input scanf printf A A MAX A > MAX false true MAX = A MAX = A A > MAX false true MAX = A input A Algoritma ini nanti yang menjadi dasar algoritma pencarian bilangan terbesar atau terkecil dari sejumlah bilangan yang ada atau bilangan yang diinput. Cara-4
  94. 94. #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; else cout << C; } } BA 175 17KEYBOARD SCREEN cin MEMORY cout 5 17 8 8 C Dengan menggunakan Logical Operator AND (&&) Menggunakan multi conditions dengan logical operator AND Cara-5
  95. 95. #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; else cout << C; } } 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 START input print END A,B,C printprint true truefalse A BC A>B && A>C B>A && B>C B > C Ini sebenarnya bisa diganti cukup dengan :
  96. 96. #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; else cout << C; } } START scanf printf END A,B,C printfprintf true truefalse A BC A>B && A>C B>C
  97. 97. #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; } BA 175 17KEYBOARD SCREEN cin MEMORY cout 5 17 8 8 C Cara-6 Berpikir lebih praktis, tapi computer-time tidak efisien
  98. 98. #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; } START input print END A,B,C true A A>B && A>C B>A && B>C print true B C>A && C>B print true C
  99. 99. Soal 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.
  100. 100. Jawab-2 Cara-1 Menggunakan 5 variabel, 4 variabel untuk input. 1 variabel untuk MAX Bila bilangan yang diinput adalah 5, 17, 8 dan 12, maka tentunya akan tercetak 17 BA 175 17KEYBOARD SCREEN scanf MEMORY printf 5 17 8 12 8 C 12 D
  101. 101. FLOWCHA RT Cara-1 START input A,B,C,D
  102. 102. START inputf print END A, B,C, D print A>B A>C AC A>D printprint C>D DDprintprint B>C BC B>D print C>D DDprint 5 17 8 12 A B C D
  103. 103. #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; } else {if(C > D) cout << C; else cout << D; } } else else {if (B > C) {if(B > D) cout << B; else cout << D; } else {if(C > D) cout << C; else cout << D; } } } bersambung
  104. 104. #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; } else {if(C > D) cout << C; else cout << D; } } else--- } START input print A, B,C, D print A>B A>C AC A>D printprint C>D DD
  105. 105. - - - - - else {if (B > C) {if(B > D) cout << B; else cout << D; } else {if(C > D) cout << C; else cout << D ; } } } A>B printfprintf B>C BC B>D printf C>D DDprintf else
  106. 106. Latihan Membaca Flowchart
  107. 107. START input A, B,C, D A>B A>C A>DC>D B>C B>DC>D 5 8 12 17 A B C D 1 2 3 4 5 6 7 8 Untuk nilai yang diinput seperti diatas, Maka flow akan menuju nomor : ………
  108. 108. Soal 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.
  109. 109. Untuk dapat menyelesaikan soal ini, perhatikan kembali soal no-11 dikerjakan dengan cara lain
  110. 110. Konsep berpikir : Sebutkan nilai terbesar dari beberapa nilai yang diperlihatkan berikut ini :
  111. 111. 12
  112. 112. 7
  113. 113. 17
  114. 114. 10
  115. 115. 15
  116. 116. 25
  117. 117. 15
  118. 118. 19
  119. 119. 22
  120. 120. 20
  121. 121. Berapa nilai yang terbesar
  122. 122. Yang terbesar
  123. 123. Konsep : Selalu menyimpan nilai terbesar dalam ingatan
  124. 124. Jawab Soal-11 Cara-2 Menggunakan 2 variabel, variabel : A khusus untuk menampung input variabel : B khusus untuk menampung nilai terbesar Bila bilangan yang diinput adalah 5, 17, 8 dan 12, maka tentunya akan tercetak 17 AKEYBOARD SCREEN cin A MEMORY cout MAX 5 17 8 12 17 MAX
  125. 125. A 5 17KEYBOARD SCREEN MEMORY 5 17 8 12 5 MAX Cara ini hanya menggunakan 2 variabel. Variabel A khusus menerima input Variabel MAX khusus menampung nilai terbesar 1529.
  126. 126. A 17 17KEYBOARD SCREEN MEMORY 5 17 8 12 17 MAX Cara ini hanya menggunakan 2 variabel. Variabel A khusus menerima input Variabel MAX khusus menampung nilai terbesar 1539.
  127. 127. A 8 17KEYBOARD SCREEN MEMORY 5 17 8 12 17 MAX Cara ini hanya menggunakan 2 variabel. Variabel A khusus menerima input Variabel MAX khusus menampung nilai terbesar 1549.
  128. 128. A 12 17KEYBOARD SCREEN MEMORY 5 17 8 12 17 MAX Cara ini hanya menggunakan 2 variabel. Variabel A khusus menerima input Variabel MAX khusus menampung nilai terbesar 1559.
  129. 129. #include <iostream.h> void main() { int A, MAX; cin >> A; MAX = A; cin >> A; if (A > MAX) MAX = A; cin >> A; if (A > MAX) MAX = A; cin >> A; if (A > MAX) MAX = A; cout << MAX; } input input print A A MAX A> MAX MAX = A MAX = A A>MAX MAX = A A>MAX MAX = A input A input A
  130. 130. #include <iostream.h> void main() { int A, i, MAX; cin >> A; MAX = A; for (i=1; i <= 3; i=i+1) { cin >> A; if (A > MAX) MAX = A; } cout << MAX; } Menginput 4 buah bilangan dan mencetak salah satu bilangan yang nilainya terbesar Instruksi for belum diterangkan penggunaannya disini hanya dipinjam satu model penggunaan
  131. 131. #include <iopstream.h> void main() { int A, i, MAX; cin >> A; MAX = A; i = 1; while (i <= 3) { cin >> A; if (A > MAX) MAX = A; i = i + 1; } cout << MAX; } Instruksi while belum diterangkan penggunaannya disisni hanya dipinjam satu model penggunaan
  132. 132. 1599. Soal 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. KEMBALI KE-
  133. 133. #include <iostream.h> void main() { int A, i, MAX; cin >> A; MAX = A; for (i=1; i <= ...; i=i+1) { cin >> A; if (A > MAX) MAX = A; } cout << MAX; } Menginput 100 buah bilangan dan mencetak yang terbesar
  134. 134. #include <iostream.h> void main() { int A, i, MAX; cin >> A; MAX = A; for (i=1; i <= 99; i=i+1) { cin >> A; if (A > MAX) MAX = A; } cout << MAX; } Menginput 100 buah bilangan dan mencetak yang terbesar
  135. 135. 1639. Soal 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.
  136. 136. Bila bilangan yang diinput adalah 5, 17 dan 8, maka tentunya akan tercetak 5 8 17 atau tercetak : 5 8 17 5 8 17 KEYBOARD print 5 17 8 BA 175 8 C input
  137. 137. FLOWCHART cara-1 START input A,B,C A < B ABBA 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
  138. 138. FLOWCHART cara-1 START input A,B,C A < B ? ABBA
  139. 139. FLOWCHART cara-1 START input A,B,C A < B B < C ABBA
  140. 140. FLOWCHART cara-1 START input A,B,C A < B B < C ABBA ABC
  141. 141. input A,B,C A,B,C A < B B < C AB ABC BA
  142. 142. input A,B,C A,B,C A < B B < C AB ABC C AB BA 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
  143. 143. input A,B,C A,B,C A < B B < C ? AB ABC C AB BA
  144. 144. input A,B,C A,B,C A < B B < C A < C AB ABC C AB BA
  145. 145. input A,B,C A,B,C A < B B < C A < C AB ABC C AB ? BA
  146. 146. input A,B,C A,B,C A < B B < C A < C AB ABC C AB ACB BA
  147. 147. input A,B,C A,B,C A,C,B A < B B < C A < C AB ABC C AB ACB BA
  148. 148. input A,B,C A,B,C A,C,B A < B B < C A < C AB ABC C AB ACB? BA
  149. 149. input A,B,C A,B,C A,C,B A < B B < C A < C AB ABC C AB ACBCAB BA
  150. 150. input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB BA
  151. 151. input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB BA
  152. 152. input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB BA
  153. 153. input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB A < C BAC BA
  154. 154. input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C A < C BAC BA
  155. 155. START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C A < C BAC C BA BA
  156. 156. START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C A < C ? BAC C BA BA
  157. 157. START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C A < C B < C BAC C BA BA
  158. 158. START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C A < C B < C BAC C BA BCACBA BA
  159. 159. START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C B,C,A A < C B < C BAC C BA BCACBA BA
  160. 160. START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C B,C,A A < C B < C C,A,B BAC C BA BCACBA BA
  161. 161. START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C B,C,A A < C B < C C,A,B BAC C BA BCACBA BA
  162. 162. START input A,B,C A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C B,C,A A < C B < C C,A,B BAC C BA BCACBA BA
  163. 163. START input A,B,C END A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C B,C,A A < C B < C C,A,B BAC C BA BCACBA BA
  164. 164. START input A,B,C END A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB B,A,C B,C,A A < C B < C C,A,B BAC C BA BCACBA BA
  165. 165. START input A,B,C END A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCABB,A,C B,C,A A < C B < C C,A,B BAC C BA BCACBA BA #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; else cout << C << “ “ << A << “ “ << B; } } else { if(A<C) cout << B << “ “ << A << “ “ << C; else { if(B<C) cout << B << “ “ << C << “ “ << A; else cout << C << “ “ << B << “ “ << A; } } }
  166. 166. A,B,C A,C,B A < B B < C A < C C,A,B AB ABC C AB ACBCAB if(A<B) { if(B<C) cout << A << “ “ << B << “ “ << C; else {if(A<C) cout << A << “ “ << C << “ “ << B; else cout << C << “ “ << A << “ “ << B; } } else
  167. 167. B,A,C B,C,A A < C B < C C,A,B BAC C BA BCACBA } else { if(A<C) cout << B << “ “ << A << “ “ << C; else {if(B<C) cout << B << “ “ << C << “ “ << A; else cout << C << “ “ << B << “ “ << A; } } }
  168. 168. 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
  169. 169. START input print END A,B,C print A<B & B<C A,B,C print C,A,B A,C,B print print B,A,C print C,B,A B,C,A A<C & C<B B<A & A<C B<C & C<A C<A & A<B
  170. 170. #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; else {if(B<A && A<C) cout << B << “ “ << A << “ “ << C; else {if(B<C && C<A) cout << B << “ “ << C << “ “ << A; else {if(C<A && A<B) cout << C << “ “ << A << “ “ << B; else cout << C << “ “ << B << “ “ << A; } } } } }

×