Anda di halaman 1dari 37

Algoritma dan Flowchart

DASAR PEMROGRAMAN & ALGORITMA

Objectives
Setelah menyelesaikan bab ini, anda diharapkan
dapat:
Mengerti tentang algoritma.
Membuat algoritma dari suatu permasalahan.
Mengerti tentang flowchart.
Membuat flowchart dari suatu permasalahan.

Algoritma
Adalah inti dari ilmu komputer.
Sebaiknya disusun sebelum membuat program.
Kriteria suatu algoritma:
Ada input dan output
Efektivitas dan efisien
Terstruktur

Algoritma
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

Algoritma

Langkah-langkah
dalam
algoritma
harus
dapat
ditentukan bernilai benar
atau salah.

Algoritma
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

Algoritma
Tanpa disadari kita sering menerapkan algoritma

dalam kehidupan sehari-hari


Menyapu halaman
Mencuci piring
Mandi
Dan banyak contoh lainnya

Algoritma dalam Kehidupan

Contoh Algoritma 1
Mengirim surat kepada teman:
1.
2.
3.
4.
5.

Tulis surat pada secarik kertas surat.


Ambil sampul surat.
Masukkan surat ke dalam sampul.
Tutup sampul surat menggunakan perekat.
Jika kita ingat alamat teman tersebut, maka tulis alamat pada
sampul surat.
6. Jika tidak ingat, lihat buku alamat, kemudian tulis alamat
pada sampul surat.
7.
Tempel perangko pada surat.
8.
Bawa surat ke kantor pos untuk diposkan.

Contoh Algoritma 2
Mencari akar bulat positif dari bilangan bulat
(integer) positif a:
Masukkan bilangan bulat positif a
Berikan harga awal x sama dengan 1
Hitung y sebesar x * x
Jika y sama dengan a maka cetak x

sebagai akar dari a. Selesai


Tambah nilai x dengan 1
Pergi ke langkah 3.

Contoh Algoritma 3
Menentukan apakah suatu bilangan merupakan bilangan
ganjil atau bilangan genap :
Masukkan sebuah bilangan sembarang
Bagi bilangan tersebut dengan bilangan 2
Hitung sisa hasil bagi pada langkah 2.
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 ganjil.

Algoritma
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

Algoritma
Notasi algoritma dengan untaian kalimat deskriptif

memiliki pola berikut:

Judul algoritma dan keterangan


singkat
Langkah-langkah dari algoritma
tersebut
1.
2.

Algoritma
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

Pseudocode
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)

Pseudocode
Contoh: menghitung luas segitiga yang diketahui

alas dan tingginya


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

Pseudocode
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

Pseudocode
Salah satu kelemahan pseudocode adalah kesulitan

yang dijumpai bila algoritmanya


mengandung penyeleksian kondisi

banyak

Semakin banyak kondisi yang perlu diperhatikan,

akan semakin rumit penulisan pseudocodenya

Flowchart
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

Flowchart
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.

Simbol-simbol Flowchart
Flow Direction Symbols (Simbol penghubung

alur)
Processing Symbols (Simbol proses).
Input-output Symbols (Simbol input-output)

Simbol-simbol Flowchart

Simbol-simbol Flowchart Cont.

Pembuatan Flowchart cont.


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.
Sebuah flowchart diawali dari satu titik
START dan diakhiri dengan END.

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 1 Flowchart

Contoh 2 Flowchart

Flowchart
Contoh flowchart menghitung luas segitiga
Start
input
alas
input
tinggi
luas * (alas *
tinggi)
print
luas
End

Algoritma luas segitiga


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

Tugas (pilih dua):


1.
Buat algoritma (kalimat deskriptif dan flowchart) untuk
mencari jumlah bilangan dibawah 1000 yang habis dibagi 3
dan 5 !
2. Buatlah algoritma (kalimat deskriptif dan flowchart) untuk
menentukan apakah 3 bilangan (a, b dan c) merupakan
triplet phytagoras (a2 = b2 + c2) !
3. Buatlah algoritma (kalimat deskriptif dan flowchartnya)
untuk mengecek bilangan di antara 2 bilangan masukan,
apakah sama ataukah lebih besar salah satunya, dan
tampilkan hasilnya !.

Exercise
4.

Buatlah flowchart dan kalimat deskriptif untuk


menghitung konversi suhu dari fahrenheit ke celcius dan
reamur dengan nilai fahrenheit diinput.
Tugas ditulis dalam selembar kertas, dikumpulkan
di pertemuan berikutnya

Anda mungkin juga menyukai