abc01 algoritma-dan-flowchart
DESCRIPTION
algoritma (Hizkia Glorius Soma)TRANSCRIPT
ALGORITMA DAND FLOWCHART Aurino Djamaris
Bakrie University
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
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
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
CONTOH
“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
“FAIL”
STOP
Y N
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
START
Input
Lft
Lcm Lft x 30
Lcm
STOP
Flowchart
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: Input Le,Pa
Langkah 2: Lu Le x Pa
Langkah 3: Print Lu
START
Input
Le,Pa
Lu Le x Pa
Lu
STOP
aurinodjamaris
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
CONTOH 4
Pseudocode:
Masukkan Koefisien (a, b, c) dari persamaan kuadrat
Hitung d
Hitung x1
Hitung x2
Cetak x1 dan x2
aurinodjamaris
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)
x1 ,x2
STOP
x1 (–b + d) / (2 x a)
X2 (–b – d) / (2 x a)
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
is
A>B
B
A
Y N
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
is
A>B
B
A
Y N
aurinodjamaris
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
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
MAX nilai1
“Nilai terbesar adalah ”,
MAX
STOP
Y N
START
Input
nilai1,nilai2
MAX nilai2
is
nilai1>nilai2
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
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
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
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?
aurinodjamaris