02 notasi algoritma
-
Upload
wawankoerniawan -
Category
Documents
-
view
459 -
download
1
Embed Size (px)
Transcript of 02 notasi algoritma

NOTASI
ALGORITMA
Oleh Dyah Darma Andayani

PENDAHULUAN
Algoritma = Rancangan Program
Langkah-langkah pemecahan masalahditulis dalam notasi-notasi deskriptif yangdisebut dengan notasi algoritma.
Notasi algoritma dibuat sedemikiansehingga tidak tergantung dengan :
Bahasa pemrograman yang akandigunakan.
Komputer yang akan menjalankanprogram 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 :
Flowchart di akhiri dengan simbol terminal :
Pembacaan data input :
Read …. atau Baca ….
Finish atau Selesai
Start atau Mulai

SIMBOL-SIMBOL DASAR FLOWCHART
Perencanaan data output :
Proses pengerjaan :
Test terhadap suatu kondisi pengambilan keputusan :
Pemberian nilai awal atau pengawalan lainnya :
Write …. atau Tulis ….

SIMBOL-SIMBOL DASAR FLOWCHART
Sub proses yang berupa suatu rutin :
Penghubung flowchart pada halaman yang sama :
Penghubung flowchart pada halaman yang berlainan :
Arah aliran proses :

PSEUDOCODE
Pseudocode berasal dari kata :
Pseudo yang berarti imitasi atau
mirip atau menyerupai.
Code yang berarti kode program.
Pseudocode berarti kode yang mirip
dengan kode pemrograman yang
sebenarnya.

PSEUDOCODE
Contoh :
PROGRAM persegipanjang
Program untuk menghitung luas persegipanjang.
DEKLARASI
panjang, lebar : integer
luas : integer
ALGORITMA :
read(p,l)
luas = panjang * lebar
write(luas)

Langkah-langkah Membentuk
Algoritma1.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
Diberikan dua buah bejana A dan B,
bejana A berisi larutan berwarna merah,
bejana B berisi larutan berwarna biru.
Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi
larutan berwarna biru dan bejana B berisi larutan berwarna merah.

Lanjutan...
algoritma :
Tuangkan larutan dari bejana A ke dalam
bejana B
Tuangkan larutan dari bejana B ke dalam
bejana A.
Apakah cara di atas BENAR ?
Apakah hasil yang didapat sesuai dengan
penyelesaian masalah?
Apa hasil yang didapat ?

Lanjutan (2)...
Algoritma TUKAR ISI BEJANA di atas tidak
menghasilkan pertukaran yang benar.
Langkah di atas tidak logis, hasil
pertukaran yang terjadi adalah
percampuran kedua larutan tersebut.

Penyelesaian
Untuk mempertukarkan isi duah bejana,
diperlukan sebuah bejana tambahan
sebagai tempat penampungan sementara,
misalnya bejana C.
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 jembatan
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 = jumlah maksimum suatu nilai yang
dimasukkan.