330 likes | 792 Views
Aurino Djamaris Bakrie University. algoritma D AND FLOWCHART. Sebuah tugas pemrograman umum dapat dibagi menjadi dua tapah : T ahap Pemecahan Masalah : Menghasilkan urutan langkah-langkah yang menggambarkan solusi dari masalah Urutan langkah-langkah ini disebut algorithm
E N D
Aurino Djamaris Bakrie University algoritma DAND 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 algoritma AND FLOWCHART
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 Langkah-langkah dalam Pemecahan Masalah
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 Pseudocode& algoritma
(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 Flowchart
aurinodjamaris Symbol Flowchart Basic
START Input M1,M2,M3,M4 GRADE(M1+M2+M3+M4)/4 IS GRADE<50 N Y PRINT “FAIL” STOP aurinodjamaris Contoh 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 PRINT “PASS”
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
START Input Lft Lcm Lft x 30 Print Lcm STOP Algorithm Step 1: Input Lft Step 2: Lcm Lft x 30 Step 3: Print Lcm aurinodjamaris Contoh 2 Flowchart
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 Contoh 3
START Input Le,Pa Lu Le x Pa Print Lu STOP Algoritma Langkah 1: Input Le,Pa Langkah 2: Lu Le x Pa Langkah 3: Print Lu aurinodjamaris Contoh3
Contoh 4 • Tulis algoritma dan gambar flowchart yang menghitung akar-akar persamaan kuadrat • Petunjuk: d = , dan akar-akarnya adalah are: x1 = (–b + d)/2a and x2 = (–b – d)/2a aurinodjamaris
Pseudocode: Masukkan Koefisien (a, b, c) dari persamaan kuadrat Hitung d Hitung x1 Hitung x2 Cetak x1 dan x2 aurinodjamaris Contoh 4
START 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 Contoh 4 • Algorithm: • Lngk 1: Input a, b, c • Lngk2: dsqrt ( ) • Lngk3: x1 (–b + d) / (2 x a) • Lngk4: x2 (–b – d) / (2 x a) • Lngk5: Print x1, x2 aurinodjamaris
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
is A>B Y N Print A Print B Flowchart STRUKTUR KEPUTUSAN aurinodjamaris STRUKTUR KEPUTUSAN
Strukturnya adalah sebagai berikut: If kondisi then hasil atau tindakan jika benar (true) else hasil atau tindakan jika salah (false) endif aurinodjamaris Struktur IF–THEN–ELSE
is A>B Y N Print A Print B Algoritm untuk flowchart berikut adalah: If A>B then print A else print B endif aurinodjamaris IF–THEN–ELSE STRUCTURE
Relational Operators aurinodjamaris
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 Contoh 5
Salah satu alternatif dalam Struktur keputusan adalah statemen IF–THEN–ELSE • Dan di dalamnya bisa juga berisi statemen IF–THEN–ELSE aurinodjamaris IF berjenjang
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 6
Tulis algoritma dan gambar flowchart untuk Membaca nama pegawai (NAME), Jam lembur (OVERTIME), jam tidak masuk (ABSENT) dan Tentukan pembayaran bonus (PAYMENT). aurinodjamaris Contoh 7
Contoh 7 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
Flowchart: Gambarkan flowchart dari algoritma di atas? aurinodjamaris Contoh 7