penyusunan algoritma (flowchart) Dana Marsetiya Utama
Pseudo Code Kode atau tanda yang menyerupai (pseudo) program atau merupakan pejelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma
Contoh Problem:mencari bilangan terbesar dari dua bilangan yang diinputkan Contoh Algoritma: Masukkan bilangan pertama Masukkan bilangan kedua Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5. Tampilkan bilangan pertama Tampilkan bilangan kedua
Contoh Contoh Pseudo-code: Input a Input b If a > b then kerjakan langkah 4 print a print b
Perbandingan Algoritma Pseudo-code Nilai A ditambah dengan 5 A ←A + 5 Cetak nilai A bila lebih besar dari 10 IF A > 10 THEN PRINT A Dari dua bilangan A dan B, cari bilangan yang terbesar IF A > B THEN PRINT A ELSE PRINT B
Bagian Program Suatu program pada dasarnya terdiri dari 3 bagian: Input: bisa ada, bisa tidak Proses Output: minimal satu ouput.
Flowchart Bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. Merupakan cara penyajian dari suatu algoritma. Ada 2 macam Flowchart : – System Flowchart urutan proses dalam system dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data. – Program Flowchart urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.
Flowchart Definisi: Bentuk gambar/diagram yang mempunyai aliran satu atau dua arah secara sekuensial Kegunaan: Untuk mendesain program Untuk merepresentasikan program
Flowchart Maka, flowchart harus dapat merepresentasikan komponen-komponen dalam bahasa pemrograman Sebelum pembuatan program Mempermudah programmerdalam menentukan alur logika program Sesudah pembuatan program Menjelaskan alur program kepada orang lain
Simbol-simbol Flowchart Flow Direction Symbols (Simbol penghubung alur) Processing Symbols (Simbol proses). Input-output Symbols (Simbol input-output)
Flowchart Secara garis besar, unsur-unsur pemrograman adalah Input Proses Output. Semua bahasa pemrograman, pasti mempunyai komponen-komponen sebagai berikut : Input (scanf) Percabangan (if, switch) Perulangan (while, for, for each, loop) Output (printf)
Simbol-simbol Flowchart
Simbol-simbol Flowchart – Cont.
Simbol-simbol Flowchart – Cont.
Simbol-simbol Flowchart – Cont.
Simbol-simbol Flowchart – Cont.
Pembuatan Flowchart Tidak ada kaidah yang baku. Flowchart = gambaran hasil analisa suatu masalah Flowchart dapat bervariasi antara satu pemrogram dengan pemrogram lainnya. Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
Pembuatan Flowchart – cont. Selalu dimulai dengan BEGIN: Begin Jangan lupa menggambar garis End
Pembuatan Flowchart – cont. Input / Output Begin Jangan lupa garis Input/output Mungkin anda ingin berkomunikasi dengan pemakai
Pembuatan Flowchart – cont. Proses Begin Input Anda dpt melakukan perhitungan di dlm proses Proses
Pembuatan Flowchart – cont. Begin Input Anda dapat menampilkan hasil di output Proses Output End
Contoh Flowchart Problem: Menghitung luaspersegi panjang Algoritma Masukkanpanjang(p)2.Masu kkanlebar(l)3.Hitungluas(L), yaitupanjangkali lebar4.Cetakluas(L
Contoh Flowchart Susunlah flowchart untuk mencari angka terkecil (minimum) dari 2 bilangan berdasarkan algoritma yang telah dibuat.
Jawaban instruksinya Dalam bentuk simbol instruksi, algoritmanya adalah sebagai berikut: Mulai Input-kan angka1 dan angka2 Jika angka1 = angka2, maka tetapkan bahwa angka_terkecil = angka1 | angka2 Jika angka1 < angka2, maka tetapkan angka_terkecil = angka1 Jika angka1 > angka2, maka tetapkan angka_terkecil = angka2 Selesai
Aturan Penulisan Algoritma (1) Bagian Kepala (Header) berisi tentang nama algoritma dan keterangan tentang algoritma tersebut Bagian Deklarasi (Definisi Variabel) berisi tentang definisi nama variabel, nama tetapan, nama prosedur, nama fungsi, dan tipe data yang akan digunakan dalam algoritma
Aturan Penulisan Algoritma (2) Bagian Deskripsi (Rincian Langkah) berisi tentang langkah-langkah penyelesaian masalah, termasuk perintah baca data, pemberian nilai, penampilan nilai, instruksi pemilihan, instruksi perulangan, dll, yang mengubah data input menjadi output
Algoritma ini digunakan untuk mencari angka terkecil (minimum) dari dua buah bilangan. Algoritma Angka_terkecil {menerima dua angka kemudian menampilkan angka yang lebih kecil} Definisi Variabel integer angka1, angka2; Rincian Langkah {memasukkan angka} write(“Angka 1 = “); read(angka1); write(“Angka 2 = “); read(angka2); {periksa yang lebih besar} if(angka1 = angka2) then write(“Angka terkecil = “, angka1 || angka2) else if(angka1 < angka2) then write(“Angka terkecil = “, angka1) else write(“Angka terkecil = “, angka2) end if
Flowchart algoritmanya (a) Flowchart untuk Mencari Angka Terkecil dari Dua Bilangan (tanpa connector)
Flowchart algoritmanya (b) Flowchart untuk Mencari Angka Terkecil dari Dua Bilangan (dengan connector)
Penyajian Algoritma Algoritma untuk mencari rata-rata dari 3 bilangan yang diinputkan a. Algoritma dengan struktur bahasa Indonesia 1. Baca bilangan a, b, dan c 2. Jumlahkan ketiga bilangan tersebut 3. Bagi jumlahnya dengan 3 4. Tulis hasilnya b. Algoritma dengan pseudocode Input (a,b,c) Jml = a+b+c Rerata = Jml/3 Output (Rerata) c. Algoritma dengan flowchart
Penyajian Algoritma Algoritma untuk mencari luas lingkaran a. Algoritma dengan struktur bahasa Indonesia 1. Beri nilai phi dengan 3.14 2. Masukkan jari-jari lingkaran 3. Kalikan phi dengan kuadrat dari jari-jarinya 4. Tulis hasilnya b. Algoritma dengan pseudocode phi = 3.14 Input (R) L = phi * R^2 Output (L) c. Algoritma dengan flowchart
Latihan Buatlah prosedur dan flowchat untuk memilih satu bilangan terbesar dari tiga bilangan. Buatlah prosedur dan flowchat untuk menghitung luas lingkaran
Proses memilih satu bilangan terbesar dari tiga bilangan.
TUGAS Buatlah algoritma dan flowchart untuk menentukan bilangan genap dan ganjil
Akhir Perkuliahan… … Ada Yang Ditanyakan??