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

Slides:



Advertisements
Presentasi serupa
Introduction to Algorithm evaluation Soal Matrikulasi Buka Buku
Advertisements

Bab 2 Struktur Dasar.
Flowchart (1) Mata Kuliah: Dasar Pemrograman
Soal-2. Susun program untuk menginput empat (4) buah bilangan bulat kemudian mencetak salah satu bilangan yang nilainya terbesar: 180.
09 Control Statement if 143.
STRUKTUR DASAR ALGORITMA
Algoritma : CONTROL STRUCTURES
Algoritma dan Struktur Data
3 Variabel, Konstanta Tipe Data dan dalam Bahasa C/C++ Java dan Bab
7. 1 Bab 07 Menginput Nilai melalui Keyboard.
Flowchart dan Pseudocode
Bab 2 – b PERINTAH 2 B Percabangan. PERCABANGAN Tidak setiap baris program akan dikerjakan Hanya yang memenuhi syarat (kondisi) Syarat terdiri dari operand-operand,
menginput waktu dalam detik di konversi ke Jam, Menit dan Detik
Penelusuran Bab 7 Pohon Biner 219.
Algoritma dan Dasar Pemograman
Operasi Perulangan pada FORTRAN Pertemuan 6
PERTEMUAN 2 PENGERTIAN DASAR LOGIKA DAN ALGORITMA.
Bab 05 Tipe Data dan Mengisi Variabel
Algoritma dan Struktur Data
Chapter 3 PEMROGRAMAN TERSTRUKTUR
{Pertemuan 4 Struktur Kondisi IF}
Bahasa Pemrograman Dasar Pertemuan 6
Percabangan Dosen Pengampu: M. Zidny Naf’an, M.Kom.
Bahasa Pemrogrman Dasar Pertemuan 4
ANALISA DAN DESAIN ALGORITMA
if (condition) statement if (x == 100) cout << "x is 100";
Transfer of control (pemindahan langkah)
Statement Control (if dan switch)
{Pertemuan 4 Struktur Kondisi IF}
{Pertemuan 6 Struktur Perulangan}
IF … THEN …, IF … THEN … ELSE … CASE … OF …
Operasi Operator dalam C++ Pertemuan 4 Dasar Pemrograman
Bab & 7.3 NESTED LOOP Array 1 Dimensi 273.
STRUKTUR DASAR ALGORITMA
STRUKTUR DASAR ALGORITMA
{Pertemuan 4 Struktur Kondisi IF}
penyusunan algoritma (flowchart)
Algoritme dan Pemrograman
03.8 Soal-Soal Pekerjaan Rumah.
04.2 Hari-4.
04.1 Hari-4.
Introduction using 03b to Algorithm C / C++ teknik dasar Algoritma.
07.3 Hari-7.
Contoh Aplikasi Sederhana
Algoritma dan Pemrograman
Flowchart.
Contoh Aplikasi Sederhana
Introduction 02 using to Algorithm C / C++ Algoritma dan
As’ad Djamalilleil Macam Statement As’ad Djamalilleil
Bagian 3 Unsur-unsur kode program Borlan C++
Operator dan Operasi Input Output pada C++ Pertemuan 11
02.1 Hari-2.
04.2 Hari-4.
Structure Theorem Rahmat D.R. Dako, ST, M.Eng.
VARIABEL DAN TIPE DATA Erizal, S.Si, M.Kom Sistem Informasi
JENIS DAN SIMBOL FLOWCHART PRODI MIK | FAKULTAS ILMU-ILMU KESEHATAN
09.3 Hari-9.
STRUKTUR DATA PERTEMUAN III.
05.1 Hari-5.
mencetak Total kedua bilangan tersebut
03.7 Latihan Membaca Flowchart.
Bab 2 Struktur Dasar.
Arithmetic Expression
Bab 08 Menghitung Total Data yang Diinput Dari Keyboard
Pertemuan 3 Input/output Statement Assignment Statement
Introduction 04 to Algorithm LOOP sebagai pembentuk kerangka dasar
Nested if 164.
Soal-soal.
if (condition) statement if (x == 100) cout << "x is 100";
STRUKTUR DASAR ALGORITMA
Transcript presentasi:

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

Soal-8 Memilih bilangan terbesar atau terkecil dari dua buah bilangan

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

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

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 12 + 2 = 14 | 2 | = 2 7 – 5 = 2 7 terbesar Misal yang diinput nilai : 4 dan 9 4 + 9 = 13 18 / 2 = 9 13 + 5 = 18 | - 5 | = 5 4 – 9 = - 5 9 terbesar

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 12 - 2 = 10 | 2 | = 2 7 – 5 = 2 5 terkecil Misal yang diinput nilai : 4 dan 9 4 + 9 = 13 8 / 2 = 4 13 - 5 = 8 | - 5 | = 5 4 – 9 = - 5 4 terkecil

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

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

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

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

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

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; }

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; }

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; }

Algoritma menggunakan Control Statement if

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

Control Statement if

Syntax: if( ) condition

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)

== 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)

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

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

Bentuk Umum dan Cara Kerja Control Statement if

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

Bentuk Umum - 1 IF-THEN Bentuk :

- 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

- Flowchart if ( cond ) { - cond } Penulisan PROGRAM TRUE cond - TRUE - Statements true } - next instruction Penulisan PROGRAM Terikat aturan / ketentuan Penggambaran FLOWCHART bebas

Bentuk Umum - 2 IF-THEN-ELSE Bentuk :

- 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

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

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

Penulisan / Penggunaan Beberapa contoh Penulisan / Penggunaan if statement

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

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

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

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

#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

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

#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;

if (A > B) cout << A ; else cout << B ; if (A < B) cout << ….. ; else if (B > A) cout << …... ; else if (B < A) cout << …... ; else

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 ;

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

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

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

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

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

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

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

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

Cara-1

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

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

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

? ? 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 ?

? ? 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 ?

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

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

? ? ? 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 ?

? ? 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 ?

? ? 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 ?

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

? 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 ?

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 ?

? 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 ?

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

? 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

? 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 ?

? 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 ?

? 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 ?

? 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 ?

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

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

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

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

? 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 ?

? ? 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 ?

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 ?

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

? 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 ?

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

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

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

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

#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

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

Latihan Membaca Flowchart

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

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

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

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

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

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

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

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

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

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

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

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

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

Cara-2

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

Cara-3

#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

Cara-4

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

#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

Cara-5

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; }

#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

#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

Cara-6

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; }

#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

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

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

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

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

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

#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

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

Latihan Membaca Flowchart

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 : ………

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

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

Sebutkan nilai terbesar dari beberapa nilai yang diperlihatkan Konsep berpikir : Sebutkan nilai terbesar dari beberapa nilai yang diperlihatkan berikut ini :

12

7

17

10

15

25

15

19

22

20

Berapa nilai yang terbesar ?

Yang terbesar 25

Konsep : Selalu menyimpan nilai terbesar dalam ingatan

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

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

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

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

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

#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

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

#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

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

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;

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;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#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

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

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

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

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

#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; }

seleseai Tahap-3