You are on page 1of 26

Pertemuan II : Algoritma, Pseudocode dan Flowchart

 Pertemuan kali ini akan membahas:


 Algoritma (lanjutan)
 Pseudocode
 Flowchart

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


yuanlukito@gmail.com
 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

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


yuanlukito@gmail.com
 Tanpa disadari kita sering menerapkan
algoritma dalam kehidupan sehari-hari
 Menyapu halaman
 Mencuci piring
 Mandi
 Dan banyak contoh lainnya …

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


yuanlukito@gmail.com
 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

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


yuanlukito@gmail.com
 Pemilihan rute jalan, misalnya rute UKDW ke
Toko Buku Togamas
 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

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


yuanlukito@gmail.com
 Notasi algoritma dengan untaian kalimat
deskriptif memiliki pola berikut:

Judul algoritma dan keterangan singkat

Langkah-langkah dari algoritma tersebut


1.
2.

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


yuanlukito@gmail.com
 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

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


yuanlukito@gmail.com
 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

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


yuanlukito@gmail.com
 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)

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


yuanlukito@gmail.com
 Contoh: menghitung luas segitiga yang
diketahui alas dan tingginya
 input alas
 input tinggi
 luas  ½ * (alas * tinggi)
 print luas

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


yuanlukito@gmail.com
 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
Yuan Lukito, S.Kom | Algoritma dan Pemrograman | http://lecturer.ukdw.ac.id/yuan |
yuanlukito@gmail.com
 Salah satu kelemahan pseudocode adalah
kesulitan yang dijumpai bila algoritmanya
banyak mengandung penyeleksian kondisi

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


yuanlukito@gmail.com
 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

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


yuanlukito@gmail.com
 Semakin banyak kondisi yang perlu
diperhatikan, akan semakin rumit penulisan
pseudocodenya
 Latihan :
 Tuliskan pseudocode untuk mendapatkan nilai
terbesar dari 3 bilangan

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


yuanlukito@gmail.com
 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

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


yuanlukito@gmail.com
 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
Yuan Lukito, S.Kom | Algoritma dan Pemrograman | http://lecturer.ukdw.ac.id/yuan |
yuanlukito@gmail.com
 Simbol-simbol dalam flowchart
SIMBOL NAMA FUNGSI

TERMINATOR Permulaan/akhir program

GARIS ALIR
Arah aliran program
(FLOW LINE)

Proses inisialisasi/pemberian
PREPARATION
harga awal

Proses perhitungan/proses
PROSES
pengolahan data

INPUT/OUTPUT Proses input/output data,


DATA parameter, informasi

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


yuanlukito@gmail.com
 Simbol-simbol dalam flowchart
PREDEFINED
Permulaan sub program/proses
PROCESS
menjalankan sub program
(SUB PROGRAM)

Perbandingan pernyataan,
DECISION penyeleksian data yang memberikan
pilihan untuk langkah selanjutnya

ON PAGE Penghubung bagian-bagian flowchart


CONNECTOR yang berada pada satu halaman

OFF PAGE Penghubung bagian-bagian flowchart


CONNECTOR yang berada pada halaman berbeda

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


yuanlukito@gmail.com
 Contoh flowchart menghitung luas segitiga
Start Algoritma luas segitiga
Menghitung luas segitiga bila diketahui
input alas alas dan tingginya

input tinggi input alas


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

print luas

End
Yuan Lukito, S.Kom | Algoritma dan Pemrograman | http://lecturer.ukdw.ac.id/yuan |
yuanlukito@gmail.com
Start input b1
input b2
input b1 If(b1>b2) do step 4 otherwise do step 5
print b1
input b2 print b2

Y
b1 > b2 ? print b2

N
print b1

End

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


yuanlukito@gmail.com
Start Menghitung jumlah 10 bilangan
bulat positif pertama
total  0

cacah  0
Pseudocode
cacah  cacah + 1
total  0
total total + cacah cacah  0
for cacah = 1  10
N total  total + cacah
Is cacah = 10 ?
endfor
Y print total
print total

End
Yuan Lukito, S.Kom | Algoritma dan Pemrograman | http://lecturer.ukdw.ac.id/yuan |
yuanlukito@gmail.com
 Buat flowchart untuk kasus berikut:
 Menghitung nilai terkecil dari 3 bilangan
 Menghitung jumlah 45 bilangan ganjil pertama
 Menghitung nilai rata-rata dari 20 data

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


yuanlukito@gmail.com
 Tugas Pertemuan II (pilih salah satu)
 Buat algoritma untuk mencari jumlah bilangan
dibawah 1000 yang habis dibagi 3 dan 5, lalu
tuliskan pseudocode dan buatlah flowchartnya
 Buatlah algoritma untuk menentukan apakah 3
bilangan (a, b dan c) merupakan triplet
phytagoras (a2 = b2 + c2), lalu tuliskan pseudocode
dan buatlah flowchartnya
Tugas ditulis dalam selembar kertas, dikumpulkan
di pertemuan berikutnya
Yuan Lukito, S.Kom | Algoritma dan Pemrograman | http://lecturer.ukdw.ac.id/yuan |
yuanlukito@gmail.com
 Akan membahas:
 Pengantar Bahasa C

 Pengumpulan Tugas I

 See you next week !!

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


yuanlukito@gmail.com

You might also like