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

Slides:



Advertisements
Presentasi serupa
Permutasi. Permutasi Permutasi adalah banyaknya pengelompokan sejumlah tertentu komponen yang diambil dari sejumlah komponen yang tersedia; dalam setiap.
Advertisements

Introduction to Algorithm evaluation Soal Matrikulasi Buka Buku
Flowchart (1) Mata Kuliah: Dasar Pemrograman
Mulai Baca x S=x%2 S=0 “Genap” Selesai Yes No XSS=0?Output main() { int x,s; cin>>x; s=x%2; if(s==0) { cout
Mulai Baca x S=x%2 S=0 “Genap” Selesai Yes No XSS=0?Output main() { int x,s; cin>>x; s=x%2; if(s==0) { cout
Soal-Soal Latihan Mandiri
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.
Perulangan Pertemuan ke-5 Bahasa C.
Notasi Faktorial     n ! = n(n - 1) (n -2) Definisi 0! = 1
02.1 Hari-2.
SELECTION STATEMEN KENDALI / PERCABANGAN
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.
PENGENALAN c++ DAN STRUKTUR DASAR C++
SELECTION STATEMEN KENDALI / PERCABANGAN
menginput waktu dalam detik di konversi ke Jam, Menit dan Detik
SELECTION (STATEMEN KENDALI / PERCABANGAN)
Penelusuran Bab 7 Pohon Biner 219.
Algorithm and Data Structures.
Algoritma dan Dasar Pemograman
Bab 05 Tipe Data dan Mengisi Variabel
Algoritma dan Struktur Data
{Pertemuan 4 Struktur Kondisi IF}
Bahasa Pemrograman Dasar Pertemuan 6
Bahasa Pemrogrman Dasar Pertemuan 4
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}
{Pertemuan 4 Struktur Kondisi IF}
PERTEMUAN 7 STATEMENT PEMILIHAN
penyusunan algoritma (flowchart)
PERCABANGAN.
Algoritme dan Pemrograman
03.8 Soal-Soal Pekerjaan Rumah.
04.2 Hari-4.
04.1 Hari-4.
Introduction 03 using to Algorithm C / C++ teknik dasar Algoritma.
07.3 Hari-7.
Contoh Aplikasi Sederhana
Contoh Aplikasi Sederhana
Introduction 02 using to Algorithm C / C++ Algoritma dan
PERULANGAN.
Operator dan Operasi Input Output pada C++ Pertemuan 11
02.1 Hari-2.
Algoritme dan Struktur Data
STATEMENT PENGENDALIAN (PEMILIHAN)
04.2 Hari-4.
Structure Theorem Rahmat D.R. Dako, ST, M.Eng.
Soal-soal Pengulangan
VARIABEL DAN TIPE DATA Erizal, S.Si, M.Kom Sistem Informasi
09.3 Hari-9.
PERINTAH INPUT DAN OUTPUT
STRUKTUR DATA PERTEMUAN III.
05.1 Hari-5.
mencetak Total kedua bilangan tersebut
03.7 Latihan Membaca Flowchart.
UJIAN TERDIRI ATAS 50 SOAL
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";
PERCABANGAN.
STRUKTUR KONTROL PERCABANGAN DAN STRUKTUR KONTROL LOMPATAN
Transcript presentasi:

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

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 pasti 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 17 5 8 Berpikir lebih praktis, tapi computer-time tidak efisien cin cout 17 5 8 A B C KEYBOARD SCREEN MEMORY #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 input A,B,C #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; } 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-11 Cara-1 Menggunakan 5 variabel, 4 variabel untuk input. 1 variabel untuk MAX 5 17 8 12 17 cout cin 5 17 8 12 A B C D KEYBOARD SCREEN MEMORY 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 prinf D print C print D print 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

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

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

17 17 A 5 . Input 17 ke A 17 . 17 > MAX  Simpan 17 di MAX 8 12 MAX 9. 58 5 17 8 12 . Input 17 ke A . 17 > MAX  Simpan 17 di MAX 17 17 A KEYBOARD MAX SCREEN MEMORY Cara ini hanya menggunakan 2 variabel. Variabel A khusus menerima input Variabel MAX khusus menampung nilai terbesar

8 17 A 5 . Input 8 ke A 17 . 8 tidak > MAX  MAX tetap 17 8 12 MAX 9. 59 5 17 8 12 . Input 8 ke A . 8 tidak > MAX  MAX tetap 17 8 17 A KEYBOARD MAX SCREEN MEMORY Cara ini hanya menggunakan 2 variabel. Variabel A khusus menerima input Variabel MAX khusus menampung nilai terbesar

12 17 A 5 . Input 12 ke A 17 . 12 tidak > MAX  MAX tetap 17 8 12 9. 60 5 17 8 12 . Input 12 ke A . 12 tidak > MAX  MAX tetap 17 12 17 A KEYBOARD MAX SCREEN MEMORY

12 17 A 5 17 8 . Data habis  Cetak MAX 12 17 MAX KEYBOARD SCREEN 9. 61 5 17 8 12 . Data habis  Cetak MAX 12 17 17 A KEYBOARD MAX SCREEN MEMORY

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

#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; Menginput 4 buah bilangan dan mencetak salah satu bilangan yang nilainya terbesar 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. 65 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. 69 13

Bila bilangan yang diinput adalah 5, 17 dan 8, maka tentunya akan tercetak 5 8 17 atau tercetak : 5 KEYBOARD A B C 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 A,B,C A<B && B<C A<C&&C<B print A,B,C B<A&&A<C print A,C,B print B<C&&C<A B,A,C C<A&&A<B print B,C,A print C,B,A print C,A,B END

#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