Abc01 algoritma-dan-flowchart

32
ALGORITMA DAND FLOWCHART Aurino Djamaris Bakrie University

description

algoritma (Hizkia Glorius Soma)

Transcript of Abc01 algoritma-dan-flowchart

Page 1: Abc01 algoritma-dan-flowchart

ALGORITMA DAND FLOWCHART Aurino Djamaris

Bakrie University

Page 2: Abc01 algoritma-dan-flowchart

ALGORITMA AND FLOWCHART

Sebuah tugas pemrograman umum dapat dibagi

menjadi dua tapah:

Tahap Pemecahan Masalah :

Menghasilkan urutan langkah-langkah yang

menggambarkan solusi dari masalah

Urutan langkah-langkah ini disebut algorithm

Tahap Implementasi

implementasi program dalam bahasa pemrograman

aurinodjamaris

Page 3: Abc01 algoritma-dan-flowchart

LANGKAH-LANGKAH DALAM PEMECAHAN

MASALAH

Pertama membuat algoritma umum (misal menggunakan pseudocode)

Pertajam algoritma berturut-turut untuk mendapatkan langkah-langkah algoritma yang rinci yang sangat dekat dengan bahasa komputer.

Pseudocode adalah bahasa buatan dan informal yang membantu programmer mengembangkan algoritma. Pseudocode sangat mirip dengan bahasa Inggris (boleh jiuga menggunakan bahasa Indonesia) sehari-hari.

aurinodjamaris

Page 4: Abc01 algoritma-dan-flowchart

PSEUDOCODE & ALGORITMA

Contoh 1: Tulis algoritma untuk

menentukan nilai akhir siswa dan

menunjukkan apakah itu lulus

atau gagal. Nilai akhir dihitung sebagai rata-

rata empat nilai.

aurinodjamaris

Page 5: Abc01 algoritma-dan-flowchart

PSEUDOCODE & ALGORITMA

Pseudocode:

Input a set of 4 marks

Calculate their average by summing and dividing by 4

if average is below 55

Print “FAIL”

else

Print “PASS”

aurinodjamaris

Page 6: Abc01 algoritma-dan-flowchart

PSEUDOCODE & ALGORITMA

Detailed Algorithm

Step 1: Input M1,M2,M3,M4

Step 2: GRADE (M1+M2+M3+M4)/4

Step 3: if (GRADE < 50) then

Print “FAIL”

else

Print “PASS”

endif

aurinodjamaris

Page 7: Abc01 algoritma-dan-flowchart

FLOWCHART

(Dictionary) Representasi skematik dari sebuah urutan operasi, seperti dalam sebuah proses manufaktur atau program komputer. (Technical) Sebuah representasi grafis dari urutan operasi dalam suatu Diagram Alir sistem informasi atau Diagram Alir Sistem Informasi program. Yang menunjukkan bagaimana data mengalir dari dokumen asal melalui komputer sampai kepada pengguna. Diagram alur Program menunjukkan urutan instruksi dalam satu program atau subroutine. Simbol yang berbeda digunakan untuk menggambarkan setiap jenis diagram alur.

aurinodjamaris

Page 8: Abc01 algoritma-dan-flowchart

FLOWCHART

Flowchart

Menunjukkan logika suatu algoritma

Menekankan pada langkah-langkah setiap kegiatan

dan hubungannya dengan yang lain

contoh. mengontrol aliran dari satu aksi ke

berikutnya

aurinodjamaris

Page 9: Abc01 algoritma-dan-flowchart

SYMBOL FLOWCHART

Oval

Parallelogram

Rectangle

Diamond

Hybrid

Name Symbol Use in Flowchart

Denotes the beginning or end of the program

Denotes an input operation

Denotes an output operation

Denotes a decision (or branch) to be made.

The program should continue along one of

two routes. (e.g. IF/THEN/ELSE)

Denotes a process to be carried out

e.g. addition, subtraction, division etc.

Flow line Denotes the direction of logic flow in the program

Basic

aurinodjamaris

Page 10: Abc01 algoritma-dan-flowchart

CONTOH

PRINT

“PASS”

Step 1: Input M1,M2,M3,M4

Step 2: GRADE (M1+M2+M3+M4)/4

Step 3: if (GRADE <50) then

Print “FAIL”

else

Print “PASS”

endif

START

Input

M1,M2,M3,M4

GRADE(M1+M2+M3+M4)/4

IS

GRADE<5

0

PRINT

“FAIL”

STOP

Y N

aurinodjamaris

Page 11: Abc01 algoritma-dan-flowchart

CONTOH 2

Tulis algoritma dan gambarkan flowchart untuk konversi panjang dari feet ke centimeter.

Pseudocode:

Input the length in feet (Lft)

Calculate the length in cm (Lcm) by multiplying LFT with 30

Print length in cm (LCM)

aurinodjamaris

Page 12: Abc01 algoritma-dan-flowchart

CONTOH 2

Algorithm

Step 1: Input Lft

Step 2: Lcm Lft x 30

Step 3: Print Lcm

START

Input

Lft

Lcm Lft x 30

Print

Lcm

STOP

Flowchart

aurinodjamaris

Page 13: Abc01 algoritma-dan-flowchart

CONTOH 3

Tulis algoritma dan gambar flowchart yang akan

membaca dua sisi segiempat dan hitung luasnya.

Pseudocode

Input lebar (Le) dan Panjang (Pa) segiempat

Hitung luas (Lu) dengan mengalikan Le dengan Pa

Print Lu

aurinodjamaris

Page 14: Abc01 algoritma-dan-flowchart

CONTOH3

Algoritma

Langkah 1: Input Le,Pa

Langkah 2: Lu Le x Pa

Langkah 3: Print Lu

START

Input

Le,Pa

Lu Le x Pa

Print

Lu

STOP

aurinodjamaris

Page 15: Abc01 algoritma-dan-flowchart

CONTOH 4

Tulis algoritma dan gambar flowchart yang

menghitung akar-akar persamaan kuadrat

Petunjuk: d = 𝑠𝑞𝑟𝑡 ( 𝑏2 − 4𝑎𝑐), dan akar-akarnya

adalah are: x1 = (–b + d)/2a and x2 = (–b –

d)/2a

2 0ax bx c

aurinodjamaris

Page 16: Abc01 algoritma-dan-flowchart

CONTOH 4

Pseudocode:

Masukkan Koefisien (a, b, c) dari persamaan kuadrat

Hitung d

Hitung x1

Hitung x2

Cetak x1 dan x2

aurinodjamaris

Page 17: Abc01 algoritma-dan-flowchart

CONTOH 4

Algorithm: Lngk 1: Input a, b, c

Lngk 2: d sqrt ( )

Lngk 3: x1 (–b + d) / (2 x a)

Lngk 4: x2 (–b – d) / (2 x a)

Lngk 5: Print x1, x2

4b b a c

START

Input

a, b, c

d sqrt(b x b – 4 x a x c)

Print

x1 ,x2

STOP

x1 (–b + d) / (2 x a)

X2 (–b – d) / (2 x a)

aurinodjamaris

Page 18: Abc01 algoritma-dan-flowchart

STRUKTUR KEPUTUSAN

Pernyataan A>B adalah pernyataan logical

Pernyataan ini menggambarkan kondisi yang akan kita uji

if A>B is true (if A is greater than B) kita melaksanakan statement sebelah kiri

print nilai A

if A>B is false (if A is not greater than B) kita melaksanakan statement sebelah kiri

print nilai B

aurinodjamaris

Page 19: Abc01 algoritma-dan-flowchart

STRUKTUR KEPUTUSAN

Flowchart STRUKTUR KEPUTUSAN

is

A>B

Print

B

Print

A

Y N

aurinodjamaris

Page 20: Abc01 algoritma-dan-flowchart

STRUKTUR IF–THEN–ELSE

Strukturnya adalah sebagai berikut:

If kondisi then

hasil atau tindakan jika benar (true)

else

hasil atau tindakan jika salah (false)

endif

aurinodjamaris

Page 21: Abc01 algoritma-dan-flowchart

IF–THEN–ELSE STRUCTURE

Algoritm untuk flowchart berikut adalah:

If A>B then

print A

else

print B

endif

is

A>B

Print

B

Print

A

Y N

aurinodjamaris

Page 22: Abc01 algoritma-dan-flowchart

RELATIONAL OPERATORS

Operator Hubungan (Relational)

Operator Uraian

> Lebih besar dari (pada)

< Lebih besar dari (pada)

= Sama dengan

Lebih besar dari (pada) atau sama dengan

Lebih besar dari (pada) atau sama dengan

Tidak sama dengan

aurinodjamaris

Page 23: Abc01 algoritma-dan-flowchart

CONTOH 5

Tulis algoritma yang membaca dua nilai, menentukan nilai terbesar dan mencetak pesan nilai terbesar

ALGORITHM

Step 1: Input NILAI1, NILAI2

Step 2: if (nilai1 > nilai2) then

MAX nilai1

else

MAX nilai2

endif

Step 3: Print “Nilai terbesar adalah”, MAX

aurinodjamaris

Page 24: Abc01 algoritma-dan-flowchart

CONTOH 5

MAX nilai1

Print

“Nilai terbesar adalah ”,

MAX

STOP

Y N

START

Input

nilai1,nilai2

MAX nilai2

is

nilai1>nilai2

aurinodjamaris

Page 25: Abc01 algoritma-dan-flowchart

IF BERJENJANG

Salah satu alternatif dalam Struktur keputusan

adalah statemen IF–THEN–ELSE

Dan di dalamnya bisa juga berisi statemen IF–

THEN–ELSE

aurinodjamaris

Page 26: Abc01 algoritma-dan-flowchart

CONTOH 6

Tulis algoritma yang membaca Tiga angka dan

cetak nilai terbesar.

aurinodjamaris

Page 27: Abc01 algoritma-dan-flowchart

CONTOH 6

Step 1: Input N1, N2, N3

Step 2: if (N1>N2) then

if (N1>N3) then

MAX N1 [N1>N2, N1>N3]

else

MAX N3 [N3>N1>N2]

endif

else

if (N2>N3) then

MAX N2 [N2>N1, N2>N3]

else

MAX N3 [N3>N2>N1]

endif

endif

Step 3: Print “Angka terbesar adalah ”, MAX

aurinodjamaris

Page 28: Abc01 algoritma-dan-flowchart

CONTOH 6

Flowchart: Gambar algoritma untuk contoh di

atas.

aurinodjamaris

Page 29: Abc01 algoritma-dan-flowchart

CONTOH 7

Tulis algoritma dan gambar flowchart untuk

a) Membaca nama pegawai (NAME), Jam

lembur (OVERTIME), jam tidak masuk

(ABSENT) dan

b) Tentukan pembayaran bonus (PAYMENT).

aurinodjamaris

Page 30: Abc01 algoritma-dan-flowchart

CONTOH 7

Tabel Bonus

OVERTIME – (2/3)*ABSENT Bonus

>40 Jam

>30 tapi 40 Jam

>20 tapi 30 Jam

>10 tapi 20 Jam

10 Jam

Rp. 500.000

Rp. 400.000

Rp. 300.000

Rp. 200.000

Rp. 100.000

aurinodjamaris

Page 31: Abc01 algoritma-dan-flowchart

Step 1: Input NAME,OVERTIME,ABSENT

Step 2: if (OVERTIME–(2/3)*ABSENT > 40) then

PAYMENT 50

else if (OVERTIME–(2/3)*ABSENT > 30) then

PAYMENT 40

else if (OVERTIME–(2/3)*ABSENT > 20) then

PAYMENT 30

else if (OVERTIME–(2/3)*ABSENT > 10) then

PAYMENT 20

else

PAYMENT 10

endif

Step 3: Print “Bonus ”, NAME “adalah Rp.”, PAYMENT

aurinodjamaris

Page 32: Abc01 algoritma-dan-flowchart

CONTOH 7

Flowchart: Gambarkan flowchart dari algoritma

di atas?

aurinodjamaris