Anda di halaman 1dari 26

Algoritma vs Flowchart

Pembahasan lanjutan:
Algoritma (lanjutan) Pseudocode

Flowchart

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah
Urutan logis berarti urutan langkah-langkah harus

benar, dan langkah-langkah itu sendiri juga harus benar

Tanpa disadari kita sering menerapkan algoritma dalam kehidupan sehari-hari


Menyapu halaman Mencuci piring Mandi Dan banyak contoh lainnya

Setiap orang punya pola pikir yang berbeda, karena itu akan menghasilkan algoritma yang berbeda Algoritma dikatakan benar apabila dapat memecahkan masalah Perlu dipertimbangkan masalah efisiensi dalam penyusunan algoritma

Pemilihan rute jalan, misalnya rute UNNES ke Gramedia (Pandanaran)


Beberapa rute mungkin akan menghasilkan

tujuan yang sama Ada rute yang lebih efisien dibanding rute lainnya Sebaiknya yang diambil adalah rute terpendek

Yuan Lukito, S.Kom | Algoritma dan Pemrograman | http://lecturer.ukdw.ac.id/yuan | yuanlukito@gmail.com

Algoritma seperti resep kue, apapun bahasanya pasti akan menghasilkan kue yang sama jika seluruh intruksinya dijalankan Algoritma dapat dinotasikan dalam beberapa cara, yaitu:
Dengan untaian kalimat deskriptif Dengan pseudocode Dengan flowchart

Notasi algoritma dengan untaian kalimat deskriptif memiliki pola berikut:


Judul algoritma dan keterangan singkat Langkah-langkah dari algoritma tersebut 1. 2.

Contoh kasus: mengecek apakah suatu bilangan genap atau ganjil


Algoritma genap ganjil
Algoritma untuk mengecek bilangan genap atau ganjil

1. Jika bilangan bisa dibagi 2 maka bilangan itu adalah bilangan genap, jika tidak berarti bilangan ganjil

Tulis notasi algoritma untuk kasus-kasus berikut:


Menghitung luas segitiga bila diketahui alas dan

tingginya Menghitung panjang sisi miring segitiga siku-siku Menghitung nilai minimum dari sejumlah nilai ujian

Pseu : menyerupai, code : kode Merupakan kode yang menyerupai kode program yang sesungguhnya Tidak ada aturan standar penulisan pseudocode Ditujukan untuk dibaca manusia, bukan dibaca mesin(komputer)

Contoh: menghitung luas segitiga yang diketahui alas dan tingginya


input alas input tinggi luas * (alas * tinggi) print luas

Mendapatkan nilai maksimal dari sejumlah nilai ujian


for i = 1 10 input nilai[i] endfor max nilai[1] for j = 2 10 if (nilai[j] > max) max = nilai[j] endif endfor print max

Salah satu kelemahan pseudocode adalah kesulitan yang dijumpai bila algoritmanya banyak mengandung penyeleksian kondisi

Contoh: menentukan bilangan terbesar dari dua bilangan


input bilangan1 input bilangan2 if (bilangan1 > bilangan2) do step 4 otherwise do

step 5 print bilangan1 print bilangan2

Semakin banyak kondisi yang perlu diperhatikan, akan semakin rumit penulisan pseudocodenya Latihan :
Tuliskan pseudocode untuk mendapatkan nilai

terbesar dari 3 bilangan

Flowchart lebih baik dibandingkan pseudocode Merupakan gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam suatu program yang menyatakan arah alur program tersebut Disajikan dalam bentuk grafik/gambar

Dapat membantu programmer maupun orang lain dalam memahami alur program (apa saja input, proses dan output dari program) Representasi visual, karena itu lebih mudah dipahami Jumlah simbol yang digunakan sedikit, karena itu lebih sederhana dan lebih mudah dipelajari

Simbol-simbol dalam flowchart


SIMBOL NAMA FUNGSI

TERMINATOR GARIS ALIR (FLOW LINE) PREPARATION PROSES INPUT/OUTPUT DATA

Permulaan/akhir program Arah aliran program Proses inisialisasi/pemberian harga awal Proses perhitungan/proses pengolahan data Proses input/output data, parameter, informasi

Simbol-simbol dalam flowchart


PREDEFINED PROCESS (SUB PROGRAM) Permulaan sub program/proses menjalankan sub program Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya Penghubung bagian-bagian flowchart yang berada pada satu halaman Penghubung bagian-bagian flowchart yang berada pada halaman berbeda

DECISION

ON PAGE CONNECTOR

OFF PAGE CONNECTOR

Contoh flowchart menghitung luas segitiga


Start
input alas input tinggi
luas * (alas * tinggi)

Algoritma luas segitiga Menghitung luas segitiga bila diketahui alas dan tingginya input alas input tinggi luas * (alas * tinggi) print luas

print luas End

Start input b1

input b2
Y

input b1 input b2 If(b1>b2) do step 4 otherwise do step 5 print b1 print b2


print b2

b1 > b2 ?

N print b1

End

Start

total 0 cacah 0
cacah cacah + 1 total total + cacah

Menghitung jumlah 10 bilangan bulat positif pertama

Pseudocode total 0 cacah 0 for cacah = 1 10 total total + cacah endfor print total

N
Is cacah = 10 ?

Y print total End

Buat flowchart untuk kasus berikut:


Menghitung nilai terkecil dari 3 bilangan Menghitung jumlah 45 bilangan ganjil pertama Menghitung nilai rata-rata dari 20 data

1. 2. 3.

Buatlah Algoritma dan Flowchart untuk menghitung luas bujursangkar! Buatlah Algoritma dan Flowchart untuk menghitung volume kerucut! Buatlah Flowchart untuk menentukan kelulusan. Jika nilai kurang dari atau sama dengan 50 diberi keterangan tidak lulus. Jika nilai lebih dari 50 diberi keterangan lulus.

4. Buatlah Flowchart untuk menentukan penilaian! Jika nilai antara 0 50 : E, 50 60 : D, 60 75 : C, 75 85 : B, 85 100 : A. 5. Buatlah Flowchart untuk menampilkan bilangan 1 10! 6. Buatlah Flowchart untuk menampilkan kalimat Program Studi Pendidikan Matematika sebanyak n kali!

Anda mungkin juga menyukai