ABC-01 Algoritma dan Flowchart

Download Report

Transcript ABC-01 Algoritma dan Flowchart

Bakrie University

aurinodjamaris

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

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

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

PSEUDOCODE & ALGORITMA

Pseudocode:   

Input a set of 4 marks Calculate their average by summing and dividing by 4 if average is below 55 else Print “FAIL” Print “PASS”

aurinodjamaris

PSEUDOCODE & ALGORITMA

  Detailed Algorithm Step 1: Step 2: Step 3: Input M1,M2,M3,M4 GRADE  (M1+M2+M3+M4)/4 if (GRADE < 50) then Print “FAIL” else Print “PASS” endif

aurinodjamaris

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

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

Name

Oval aurinodjamaris

SYMBOL FLOWCHART

Symbol Use in Flowchart

Basic Denotes the beginning or end of the program Parallelogram Denotes an input operation Rectangle Diamond Hybrid Denotes a process to be carried out e.g. addition, subtraction, division etc.

Denotes a decision (or branch) to be made. The program should continue along one of two routes. (e.g. IF/THEN/ELSE) Denotes an output operation Denotes the direction of logic flow in the program Flow line

aurinodjamaris

CONTOH

N START Input M1,M2,M3,M4 GRADE

(M1+M2+M3+M4)/4 IS GRADE<5 0 Y PRINT “PASS” PRINT “FAIL”

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

STOP

aurinodjamaris

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

CONTOH 2

Algorithm  Step 1: Input Lft  Step 2: Lcm  Lft x 30  Step 3: Print Lcm

Flowchart START Input Lft Lcm

Lft x 30 Print Lcm STOP

aurinodjamaris

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

CONTOH3

Algoritma  Langkah 1:  Langkah 2:  Langkah 3: Input Le,Pa Lu  Le x Pa Print Lu

START Input Le,Pa Lu

Le x Pa Print Lu STOP

CONTOH 4

 Tulis algoritma dan gambar flowchart yang menghitung akar-akar persamaan kuadrat

ax

2 

bx

0  Petunjuk : d = 𝑠𝑞𝑟𝑡 ( 𝑏 2 adalah are:

x

1 = (–

b d

)/2

a

− 4𝑎𝑐) , dan akar-akarnya +

d

)/2

a

and

x

2 = (–

b

– aurinodjamaris

aurinodjamaris

CONTOH 4

Pseudocode: 

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

Hitung

d 

Hitung x

1 

Hitung

x2 

Cetak

x

1 dan

x2

CONTOH 4

      Algorithm: Lngk 1: Lngk 2: Lngk 3: Lngk 4: Lngk 5: Input a, b, c

d

x

1  (–

b

+

d

) / (2 x

a

)

x

2  (–

b

d

) / (2 x

a

) Print

x

1,

x

2

START Input a, b, c d

sqrt(

b x b

– 4 x

a

x

c

)

x

1

( –

b

+

d

) / (2 x

a

)

X

2

( –

b

d

) / (2 x

a

) Print

x

1 ,

x

2 STOP

aurinodjamaris

aurinodjamaris

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

STRUKTUR KEPUTUSAN

 Flowchart STRUKTUR KEPUTUSAN

Y is A>B Print A N Print B

aurinodjamaris

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

IF–THEN–ELSE STRUCTURE

 Algoritm untuk flowchart berikut adalah:

If A>B then print A else print B endif

Y is A>B N Print A Print B

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

aurinodjamaris

CONTOH 5

 Tulis algoritma yang membaca dua nilai, menentukan nilai terbesar dan mencetak pesan nilai terbesar ALGORITHM Step 1: Step 2: Step 3:

Input

NILAI1, NILAI2

if (

nilai1 > nilai2)

then

MAX  nilai1

else

MAX  nilai2

endif Print “Nilai terbesar adalah”, MAX

aurinodjamaris

CONTOH 5

Y START Input nilai1,nilai2 is nilai1>nilai2 N MAX

nilai1 MAX

nilai2 Print

“Nilai terbesar adalah ”, MAX

STOP

aurinodjamaris

IF BERJENJANG

 Salah satu alternatif dalam Struktur keputusan adalah statemen IF–THEN–ELSE  Dan di dalamnya bisa juga berisi statemen IF– THEN–ELSE

aurinodjamaris

CONTOH 6

 Tulis algoritma yang membaca Tiga angka dan cetak nilai terbesar.

aurinodjamaris

CONTOH 6

Step 1:

Input

N1, N2, N3 Step 2:

if (

N1>N2)

then if (

N1>N3)

then

MAX  N1

else

MAX  N3

endif else if (

N2>N3)

then

MAX  N2

else

[N1>N2, N1>N3] [N3>N1>N2] [N2>N1, N2>N3] MAX  N3 [N3>N2>N1]

endif endif

Step 3:

Print “Angka terbesar adalah ”, MAX

aurinodjamaris

CONTOH 6

 Flowchart: Gambar algoritma untuk contoh di atas.

aurinodjamaris

CONTOH 7

 a) b) Tulis algoritma dan gambar flowchart untuk Membaca nama pegawai (NAME), Jam lembur (OVERTIME), jam tidak masuk (ABSENT) dan Tentukan pembayaran bonus (PAYMENT).

CONTOH 7

Tabel Bonus OVERTIME – (2/3)*ABSENT Bonus >40 Jam >30 tapi  >20 tapi  >10 tapi   10 Jam 40 Jam 30 Jam 20 Jam Rp. 500.000

Rp. 400.000

Rp. 300.000

Rp. 200.000

Rp. 100.000

aurinodjamaris

aurinodjamaris 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

CONTOH 7

 Flowchart: Gambarkan flowchart dari algoritma di atas?