Post on 11-Aug-2015
Struktur Dasar Algoritma dan Notasi Algoritmik pseudo-codeMateri 2MK. Pengantar AlgoritmaPSMI FMIPA Universitas Riau
Tujuan
•Mempelajari konsep dasar algoritma•Mempelajari beberapa istilah yang sering
dipakai dalam pemrograman dan struktur dasar algoritma
Pernyataan•Algoritma berisi langkah-langkah
penyelesaian masalah•Setiap langkah dinyatakan sebagai
pernyataan•Pernyataan = statement = instruksi•Pernyataan berisi aksi (action) yang dilakukan•Contoh pernyataan algoritma:
Tulis “Hello, world”•Pernyataan tersebut memberi aksi menulis
pesan “Hello, world”
Pernyataan
•Kalikan a dengan 2▫Menggambarkan aksi mengalikan a dengan 2 dan hasilnya disimpan di dalam a lagi
•Jika bulan = ‘januari’ maka tulis “jumlah hari = 31”▫Menggambarkan dua aksi, yaitu
membandingkan nilai variabel bulan dengan ‘januari’ dan aksi tulis pesan ‘jumlah hari = 31’ jika perbandingan itu benar
Konstruksi Dasar• Sebuah algoritma dibangun dari tiga struktur
dasar, yaitu:• Runtunan (sequence)• Pemilihan (selection)• Pengulangan (repetition)
?
Runtunan Pemilihan Pengulangan
Runtunan
•Runtunan terdiri dari satu atau lebih pernyataan
•Tiap pernyataan dikerjakan secara berurutan sesuai urutannya
•Urutan instruksi menentukan keadaan akhir algoritma
•Bila urutan diubah, maka hasil akhirnya juga berubah
Contoh•Konsep runtunan dapat kita lihat pada
algoritma mempertukarkan isi dua buah ember A dan ember B
•Algoritma menukar isi dua ember sama prinsipnya dengan menukar nilai dua variabel.
•Misalkan variabel A = 8 dan variabel B = 5•Algoritmanya:
▫Masukkan nilai A ke dalam C▫Masukkan nilai B ke dalam A▫Masukkan nilai C ke dalam B
Pemilihan• Instruksi dikerjakan jika memenuhi kondisi
tertentu• Contoh kasus traffic light• Jika lampu berwarna merah maka kendaraan
harus berhenti• Pernyataan:jika lampu traffic light berwarna merah, maka berhenti
• Pernyataan pemilihan:if kondisi then
aksi
Pemilihan• if berarti jika• then berarti maka• kondisi adalah persyaratan yang dapat bernilai
benar atau salah• aksi sesudah kata then hanya dilaksanakan
apabila kondisi benar• Struktur if-then tidak memberi pilihan aksi bila
kondisi bernilai salah• Struktur yang lebih umum ialah memilih satu
dari dua buah aksi bergantung pada nilai kondisinya.
Pemilihan
if kondisi then aksi 1
elseaksi 2
•else artinya kalau tidak.•Bila kondisi benar maka aksi 1 akan
dikerjakan•Kalau tidak maka aksi 2 akan dikerjakan
Pengulangan
•Salah satu kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama berulang kali tanpa lelah.
•Ada 3 notasi pengulangan di algoritma:1. for2. repeat-until3. while
Pengulangan • for pencacah pengulangan dari 1 sampai
n do• Contoh kasus, menulis 100 kalimat “saya
berjanji tidak akan nakal dan malas lagi”• Algoritma:
for i dari 1 sampai 100 doTulis “saya berjanji tidak akan
nakal dan malas lagi”• i adalah pencacah pengulangan dari 1 sampai
100
Pengulangan repeat
aksiuntil kondisi
• pengulangan aksi dilakukan hingga kondisi berhenti terpenuhi
• Contoh:repeat
Tulis “saya berjanji tidak akan nakal dan malas lagi”
until i sudah 100 kali
Pengulangan while kondisi do
aksi
• selama kondisi benar maka aksi dilakukan• Contoh:
while i sampai dengan 100 do Tulis “saya berjanji tidak akan nakal dan malas
lagi”
Notasi pseudo-code
•Notasi algoritmik dalam bentuk pseudo-code mempunyai korespondensi dengan notasi bahasa pemrograman.
•Proses penterjemahan ke kode program menjadi lebih mudah
Contoh
•Notasi deskriptiftulis nilai X dan Y
•Notasi flowchart
•Notasi pseudo-codewrite (X,Y)
Tulis nilai X dan Y
write(X,Y)
Notasi pseudo-code
•Pada notasi pseudo-code, tidak mempersoalkan format tampilan keluaran dan hal teknis lain seperti yang diatur dalam bahasa pemrograman
•Notasi write dalam algoritma berkoresponden dengan write atau writeln dalam bahasa pascal, printf dalam bahasa C, WRITE dalam bahasa basic atau write dalam bahasa fortran.
Notasi pseudo-code•Algoritmik
write(X, Y)•Pascal
writeln(X, Y);•C
printf(“%d %d”,X,Y);• Java
System.out.println(X,Y)•PHP
echo $X. “ “.$Y;
Notasi pseudo-code• Notasi deskriptif
isikan nilai X ke dalam min• Pseudo-code
min X• notasi berarti mengisi (assign) variabel min dengan nilai X.• Pascal
min := X;• C
min = X;• Java
min = X;• PHP
$min = $X;
Struktur Teks Algoritma1. Algoritma untuk mencetak tulisan:
Hello, world2. Mencetak tabel konversi suhu dalam derajat
Fahrenheit (F) ke derajat Celcius (C) dengan rumus C = 5/9 . (F - 32)Data masukan adalah suhu awal (x) dan suhu akhir (y). Tabel keluaran memuat suhu mulai dari x sampai y F dengan kenaikan sebesar step. Misalkan x = 0, y = 100 dan step = 20.
Struktur Teks Algoritma
• Tabel yang dihasilkan:
0 -17.8
20 -6.7
40 4.4
60 15.6
80 26.7
100 37.8
Algoritma Hello, world
PROGRAM HelloWorld{ Program untuk mencetak “Hello, world”Masukan: - Keluaran: string ‘Hello, world’
}DEKLARASI{tidak ada }ALGORITMA:write(“Hello, world”)
Algoritma Fahrenheit ke CelciusPROGRAM FahrenheitCelcius{ Program untuk mencetak tabel Fahrenheit ke Celcius dari x sampai
y dengan kenaikan sebesar stepMasukan: suhu awal, suhu akhir, stepKeluaran: tabel konversi suhu dalam F dan C
}DEKLARASI
F, C : realx, y, step : integer
ALGORITMA:read(x,y,step)F xwhile F <= y do
C 5/9 * (F – 32) write(F, C)F F + step
endwhile
Notasi pseudo-code
•Ada 3 bagian dari notasi pseudo-code1. Bagian judul (header)2. Bagan deklarasi (declaration)3. Bagian algoritma
BagianJudul
•Terdiri atas nama program dan penjelasan (spesifikasi) tentang program tersebut
Bagian Deklarasi
•Berisi semua nama yang dipakai dalam algoritma beserta propertinya (tipe)
•Nama tersebut adalah konstanta, variabel, tipe, prosedur dan fungsi
•Semua nama yang digunakan harus dikenali sebelum dipakai
•Biasanya aturan penulisan nama di pseudo-code inherent dengan bahasa pemrograman
Bagian Algoritma
•Inti dari sebuah program•Berisi instruksi-instruksi pemecahan
masalah dalam notasi pseudo-code