ALGORITMA
PENDAHULUAN
Algoritma = Rancangan Program
Langkah-langkah pemecahan masalah
ditulis dalam notasi-notasi deskriptif yang
disebut dengan notasi algoritma.
Notasi algoritma dibuat sedemikian
sehingga tidak tergantung dengan :
Bahasa pemrograman yang akan
digunakan.
Komputer yang akan menjalankan
program tersebut.
NOTASI ALGORITMA
Untaian kalimat deskriptif
Flowchart (diagram alir)
Pseudocode
UNTAIAN KALIMAT DESKRIPTIF
Langkah-langkah pemecahan masalah
dituangkan dengan untaian kalimat deskriptif.
Contoh :
PROGRAM persegipanjang
Program untuk menghitung luas persegipanjang.
ALGORITMA :
1. Masukkan/input panjang dan lebar persegipanjang.
2. Hitung luas persegipanjang dengan rumus :
Luas = Panjang x Lebar
3. Tampilkan luas persegipanjang.
FLOWCHART
Flowchart berasal dari kata :
Flow berarti aliran.
Chart berarti gambar, diagram atau simbol-
simbol.
Flowchart merupakan diagram alir yang
menggambarkan langkah-langkah pemecahan
masalah.
SIMBOL-SIMBOL DASAR FLOWCHART
Flowchart di awali dengan simbol terminal :
Proses pengerjaan :
DEKLARASI
panjang, lebar : integer
luas : integer
ALGORITMA :
read(p,l)
luas = panjang * lebar
write(luas)
Langkah-langkah Membentuk
Algoritma
1.Sequence process
Instruksi dikerjakan secara berurutan satu persatu
dimulai dari langkah pertama sampai terakhir
2.Selection process
Instruksi pemilihan proses (percabangan), sehingga
apabila memenuhi persyaratan tertentu maka instruksi
akan dikerjakan
contoh : jika pembayaran tunai diberi diskon 10%
Jika dilakukan secara kredit maka diskon 0 %.
(dalam pernyataan diatas, hanya boleh melakukan 1
instruksi dari 2 alternatif instruksi).
Lanjutan...
3. Iteration process
suatu instruksi yang dikerjakan berulang-
ulang selama beberapa kali selama masih
memenuhi suatu kondisi.
Studi Kasus
Buatlah Algoritma untuk memilih bilangan
terbesar dari 3 buah bilangan ?
Dengan bahasa natural
Ambil bilangan pertama dan set maks sama dengan
bilangan pertama
Ambil bilangan kedua dan bandingkan dengan maks
Apa bila bilangan kedua lebih besar dari maks, set
maks sama dengan bilangan kedua
Ambil blangan ketiga dan bandingan dengan maks
Apabila bilangan ketiga lebih besar dari maks, set
maks sama dengan bilangan ketiga
Variabel maks berisi bilangan terbesar. Tampilkan
hasilnya
Dengan Flowchart
Dengan Pseudocode
Maks ←bilangan pertama
if (maks < bilangan kedua)
maks←bilangan kedua
if (maks < bilangan ketiga)
maks ← bilangan ketiga
Studi Kasus (2)
Algoritma TUKAR ISI BEJANA
A B C
Algoritma yang menghasikan pertukaran
yang benar sebagai berikut:
Tuangkan larutan dari bejana A ke dalam
bejana C.
Tuangkan larutan dari bejana B ke dalam
bejana A.
Tuangkan larutan dari bejana C ke dalam
bejana B.
Latihan
Seorang Petani akan berpergian ke kota dengan membawa seekor
kambing, Anjing dan Rumput Yang ketiganya memliki berat yang
tidak jauh berbeda, ditengah jalan petani harus menyebrangi
sungai dengan menggunakan perahu dan untuk melaluinya petani
tersebut tidak diperbolehkan membawa sekaligus bawaannya
mengingat kapasitas kekuatan perahu tersebut, dan untuk
melaluinya petani harus membawa satu persatu bawaannya .
Ditanya: berapa kali petani tersebut harus melalui sungai dengan
memperhatikan bahwa kambing makan rumput, anjing makan
kambing ?
Bagaimana caranya untuk menyebrangkan tiga orang rahib yang
sedang dikejar oleh Tiga orang kanibal ke sisi pulau yang ada
diseberangnya
Dengan catatan :
Bila misionarisnya Lebih sedikit dari dari kanibal, maka misionaris
tersebut akan dimakannya.
Tugas
Buatlah algoritma (dengan bahasa natural):
1. Menampilkan bilangan ganjil dari 1
sampai dengan 10.
2. Menghitung jumlah deret : 1 + 2 + 3 + 4 +
.... + N
N = maksimum suatu nilai yang
dimasukkan.