Aurino Djamaris Bakrie University
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
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
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: 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
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
(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 Menunjukkan logika suatu algoritma Menekankan pada langkah-langkah setiap kegiatan dan hubungannya dengan yang lain contoh. mengontrol aliran dari satu aksi ke berikutnya aurinodjamaris
Basic aurinodjamaris
PRINT “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 PRINT “FAIL” STOP Y N aurinodjamaris
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
Algorithm Step 1: Input Lft Step 2: Lcm Lft x 30 Step 3: Print Lcm START Input Lft Lcm Lft x 30 Print Lcm STOP Flowchart aurinodjamaris
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
Algoritma Langkah 1: Input Le,Pa Langkah 2: Lu Le x Pa Langkah 3: Print Lu START Input Le,Pa Lu Le x Pa Print Lu STOP aurinodjamaris
Pseudocode: Masukkan Koefisien (a, b, c) dari persamaan kuadrat Hitung d Hitung x1 Hitung x2 Cetak x1 dan x2 aurinodjamaris
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 START Input a, b, c d sqrt(b x b – 4 x a x c) Print x 1,x 2 STOP x 1 (–b + d) / (2 x a) X 2 (–b – d) / (2 x a) 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
Flowchart STRUKTUR KEPUTUSAN is A>B Print B Print A YN aurinodjamaris
Strukturnya adalah sebagai berikut: If kondisi then hasil atau tindakan jika benar (true) else hasil atau tindakan jika salah (false) endif aurinodjamaris
Algoritm untuk flowchart berikut adalah: If A>B then print A else print B endif is A>B Print B Print A YN aurinodjamaris
Operator Hubungan (Relational) OperatorUraian >Lebih besar dari (pada) < =Sama dengan Lebih besar dari (pada) atau sama dengan Tidak sama dengan 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
MAX nilai1 Print “Nilai terbesar adalah ”, MAX STOP YN START Input nilai1,nilai2 MAX nilai2 is nilai1>nilai2 aurinodjamaris
Salah satu alternatif dalam Struktur keputusan adalah statemen IF–THEN–ELSE Dan di dalamnya bisa juga berisi statemen IF– THEN–ELSE aurinodjamaris
Tulis algoritma yang membaca Tiga angka dan cetak nilai terbesar. aurinodjamaris
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 Step 3: Print “Angka terbesar adalah ”, MAX aurinodjamaris
Flowchart: Gambar algoritma untuk contoh di atas. aurinodjamaris
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
Tabel Bonus OVERTIME – (2/3)*ABSENTBonus >40 Jam >30 tapi 40 Jam >20 tapi 30 Jam >10 tapi 20 Jam 10 Jam Rp Rp Rp Rp Rp 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
Flowchart: Gambarkan flowchart dari algoritma di atas? aurinodjamaris