Menuliskan Algoritma Algoritma dapat dituliskan dengan berbagai cara
Menuliskan Algoritma • Algoritma dapat dituliskan dengan berbagai cara: – Teks • Level kedekatan dengan kode program: mulai dari teks bebas sampai pseudocode – Diagram, misal: bagan alir (flowchart)
Contoh Persoalan 1 • Buatlah algoritma untuk menentukan apakah suatu bilangan bulat positif adalah bilangan genap atau bilangan gasal.
Contoh Algoritma 1: Menggunakan Teks Bebas 1. Bagi bilangan dengan bilangan 2 2. Hitung sisa hasil bagi pada langkah 1. 3. Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan gasal.
Contoh Algoritma 2: Menggunakan Pseudocode Program Menentukan_Bilangan { Menentukan apakah suatu bilangan bulat positif adalah bilangan gasal atau genap } KAMUS: n : integer > 0 {input bilangan bulat positif} m : integer > 0 {hasil sisa pembagian n dgn. 2} ALGORITMA: input (n) m n mod 2 if m = 0 then output (n, ‘ adalah bilangan genap’) else { m = 1 } output (n, ‘ adalah bilangan gasal’)
Contoh Algoritma 3: Menggunakan Flowchart Kamus: n : integer > 0 m : integer > 0 Start input (n) m = n mod 2 { Hitung sisa bagi n dengan 2} A m=0 Tidak Ya output (‘Genap’) output (‘Gasal’) End A Ke slide 26
Bagan Alir (Flowchart) • Bagan alir (flowchart): skema grafis untuk merepresentasikan algoritma • Kelebihan: – Bentuk grafis memudahkan interpretasi dan pembacaan – Relatif mudah dimengerti – Relatif mudah untuk dibuat • Kekurangan: – Tidak ringkas (membutuhkan media penulisan yang relatif besar) – Untuk algoritma dalam ukuran besar menjadi tidak praktis – Kurang fleksibel untuk menjelaskan konsep-konsep spesifik dalam pemrograman • Misalnya: struktur data (type data tidak terdefinisi eksplisit), kondisional dengan banyak kasus, dsb.
Simbol Flowchart SIMBOL NAMA Terminator FUNGSI Permulaan/akhir algoritma Garis alir / flow line Arah aliran program Preparation Proses inisialisasi/pemberi an harga awal Proses perhitungan/proses pengolahan data
Simbol Flowchart SIMBOL NAMA Input/output data FUNGSI Proses input/output data, parameter, informasi Predefined process/ Permulaan sub program/proses subprogram menjalankan sub program Decision Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya
Simbol Flowchart SIMBOL Dll. NAMA On Page Connector FUNGSI Off Page Connector Penghubung bagian flowchart yang berada pada halaman yang berbeda Penghubung bagian flowchart yang berada pada satu halaman
Dari Spesifikasi Masalah ke Flowchart Contoh Persoalan 2 • Buatlah sebuah algoritma yang membaca sebuah harga berupa bilangan bulat yang mewakili pengukuran suhu air (dalam derajat Celcius) pada tekanan atmosfir dan menuliskan wujud air pada temperatur dan tekanan tersebut: – Jika suhu 0 derajat, maka wujud air: beku – Jika suhu>0 derajat dan 100 derajat, maka wujud air: cair – Jika suhu<100 derajat, maka wujud air: uap
Contoh Persoalan 2 Start Kamus T : integer {suhu air} input(T) T 0 T>100 T 0<T 100 output(‘Beku’) output(‘Cair’) End output(‘Uap’)
Dari Spesifikasi Masalah ke Flowchart Contoh Persoalan 3 • Buatlah sebuah algoritma yang membaca sebuah nilai N yang merupakan integer positif > 0 dan menuliskan output 1, 2, 3…, N berderet ke bawah, contoh: N = 4 1 2 3 4
Contoh Persoalan 3 Start input(N) Kamus: N : integer > 0 {input bilangan} I : integer > 0 {counter} I=1 output(I) I=I+1 Tidak I>N Ya End
Latihan • Buatlah algoritma dalam bentuk flowchart untuk persoalan-persoalan berikut: – Menentukan apakah suatu huruf adalah huruf ‘A’ atau bukan. – Menentukan rangking (urutan) dari 3 buah bilangan bulat yang berbeda dan menuliskan urutannya secara menaik. – Menentukan apakah masukan tahun (bilangan bulat positif) adalah tahun kabisat atau bukan. • Buatlah algoritma untuk menghitung nilai faktorial dari masukan sebuah bilangan bulat positif atau 0. • Buat algoritma untuk menghitung jumlah N suku dari deret aritmatika berikut: Sn = 3 + 7 + 11 + …… + (4 n 1) • Buat algoritma untuk mencetak pasangan nilai X dan Y di mana hubungan antara X dan Y memenuhi persamaan Y = X 3 – 2 X +1 dan nilai x berubah dari – 10 sampai 10.
- Slides: 14