ABC-01 Algoritma dan Flowchart

Report
ALGORITMA
DAND FLOWCHART
Aurino Djamaris
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) seharihari.
aurinodjamaris
PSEUDOCODE & ALGORITMA

Contoh 1: Tulis algoritma untuk
menentukan nilai akhir siswa dan
menunjukkan apakah itu lulus
atau gagal. Nilai akhir dihitung sebagai ratarata 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
Print “FAIL”
else
Print “PASS”
aurinodjamaris
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
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
aurinodjamaris
SYMBOL FLOWCHART
Name
Symbol
Use in Flowchart
Basic
Oval
Denotes the beginning or end of the program
Parallelogram
Denotes an input operation
Rectangle
Denotes a process to be carried out
e.g. addition, subtraction, division etc.
Diamond
Denotes a decision (or branch) to be made.
The program should continue along one of
two routes. (e.g. IF/THEN/ELSE)
Hybrid
Denotes an output operation
Flow line
Denotes the direction of logic flow in the program
aurinodjamaris
CONTOH
START
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
Input
M1,M2,M3,M4
GRADE(M1+M2+M3+M4)/4
N
IS
GRADE<5
0
PRINT
“PASS”
Y
PRINT
“FAIL”
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:
START
Input Le,Pa
Lu  Le x Pa
Print Lu
Input
Le,Pa
Lu  Le x Pa
Print
Lu
STOP
CONTOH 4

Tulis algoritma dan gambar flowchart yang
menghitung akar-akar persamaan kuadrat
ax2  bx  c  0
d =  (  2 − 4), dan akar-akarnya
adalah are: x1 = (–b + d)/2a and x2 = (–b –
d)/2a
 Petunjuk:
aurinodjamaris
aurinodjamaris
CONTOH 4
Pseudocode:
 Masukkan Koefisien (a, b, c) dari persamaan
kuadrat
 Hitung d
 Hitung x1
 Hitung x2
 Cetak x1 dan x2
CONTOH 4
START






Algorithm:
Lngk 1:
Lngk 2:
Lngk 3:
Lngk 4:
Lngk 5:
Input a, b, c
d  sqrt ( b  b  4  a  c)
x1  (–b + d) / (2 x a)
x2  (–b – d) / (2 x a)
Print x1, x2
Input
a, b, c
d  sqrt(b x b – 4 x a x c)
x1 (–b + d) / (2 x a)
X2  (–b – d) / (2 x a)
Print
x1 ,x2
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
Print
A
is
A>B
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
Y
N
is
A>B
print B
endif

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:
Input NILAI1, NILAI2
Step 2:
if (nilai1 > nilai2) then
MAX  nilai1
else
MAX  nilai2
endif
Step 3:
Print “Nilai terbesar adalah”, MAX
aurinodjamaris
CONTOH 5
START
Input
nilai1,nilai2
Y
N
is
nilai1>nilai2
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
[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
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  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
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?

similar documents