2. 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
3. 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.
4. 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.
7. 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.
9. 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
10. 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
11. 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)
13. 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
17. 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
18. 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
22. 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
23. 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
25. aurinodjamaris
IF BERJENJANG
Salah satu alternatif dalam Struktur keputusan
adalah statemen IF–THEN–ELSE
Dan
di dalamnya bisa juga berisi statemen IF–
THEN–ELSE
27. 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
29. 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).
30. 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
31. 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