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
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
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:
“Bonus ”, NAME “adalah Rp.”, PAYMENT
aurinodjamaris
CONTOH 7
Flowchart: Gambarkan flowchart dari algoritma di atas?