A LGORITMA D AN P EMROGRAMAN MATERI 3 STRUKTUR ALGORITMA
1
S TRUKTUR A LGORITMA
2
Macam‐macam struktur algoritma : ¾
RUNTUNAN (SEQUENCE)
¾
PEMILIHAN (SELECTION)
¾
PENGULANGAN (REPETITION)
S TRUKTUR A LGORITMA
3
R UNTUNAN
Runtunan
merupakan struktur algoritma paling dasar yang berisi rangkaian instruksi yang diproses secara sekuensial, satu per satu, mulai dari instruksi pertama sampai instruksi terakhir. ~
Tiap instruksi dikerjakan satu per satu. satu
~
Tiap instruksi dilaksanakan satu kali, tidak ada instruksi yang diulang. di l
~
Pelaksanaan instruksi mengikuti urutan pada algoritma.
~
Akhir dari intruksi terakhir merupakan akhir algoritma.
S TRUKTUR A LGORITMA
4
P EMILIHAN
Pemilihan memungkinkan kita melakukan aksi dengan suatu persyaratan tertentu. ¾
Pemilihan dengan 1 kasus. kasus
¾
Pemilihan dengan 2 kasus.
¾
Pemilihan dengan banyak kasus.
S TRUKTUR A LGORITMA
5
P EMILIHAN DENGAN 1 K ASUS
Bila sebuah kondisi terpenuhi, maka sebuah aksi akan k dieksekusi. di k k i
Bila kondisi tersebut tidak terpenuhi, maka tidak ada aksi yang akan dieksekusi.
Penulisan dalam algoritma : IF (kondisi) THEN aksi ENDIF
S TRUKTUR A LGORITMA
6
P EMILIHAN DENGAN 2 K ASUS
Bila sebuah kondisi terpenuhi, maka sebuah aksi pertama akan k dieksekusi. di k k i
Bila kondisi tersebut tidak terpenuhi, maka aksi kedua yang akan dieksekusi.
Penulisan dalam algoritma : IF (kondisi) THEN { aksi pertama } ELSE { aksi kedua } ENDIF
S TRUKTUR A LGORITMA
7
P EMILIHAN DENGAN BANYAK K ASUS
Pada pemilihan dengan banyak kasus, punya banyak b k pilihan ilih kondisi k di i yang bila bil sebuah b h kondisi k di i terpenuhi, maka sebuah aksi akan dieksekusi dan aksi k i yang lain l i tidak tid k akan k dieksekusi. di k k i
Prinsip p dari p pemilihan dengan g banyak y kasus sama dengan pemilihan dengan 2 kasus, namun aksi kedua diganti g dengan g pemilihan 2 kasus lagi, p g, sehingga didapatkan pemilihan bertingkat.
S TRUKTUR A LGORITMA
8
P EMILIHAN DENGAN BANYAK K ASUS
Penulisan dalam algoritma : IF (kondisi_1) THEN { aksi pertama } ELSE IF (kondisi_2) THEN { aksi kedua } ELSE IF (kondisi_3) THEN { aksi ketiga } ELSE { aksi keempat } ENDIF ENDIF ENDIF
S TRUKTUR A LGORITMA
9
P EMILIHAN - C ONTOH A LGORITMA ALGORITMA TAMPIL_GENAP_GANJIL {I.S. : masukkan s≥0 dan s≤100} {F.S. : menampilkan masukan dan ket. genap/ganjil} DEKLARASI : s, k : integer ALGORITMA : INPUT(s) k Å s MOD 2 IF ((s < 0 ) AND (s > 100)) OUTPUT(‘M OUTPUT(‘Masukkan kk antara t 0 ELSE IF (k = 0) THEN OUTPUT(s ’ adalah angka OUTPUT(s,’ ELSE OUTPUT(s,’ adalah angka ENDIF ENDIF
THEN - 99’) GENAP’) GANJIL’)
S TRUKTUR A LGORITMA
10
P EMILIHAN DENGAN BANYAK K ASUS (CASE)
Pada pemilihan dengan banyak kasus, selain menggunakan IF..THEN.. dapat juga k IF THEN bertingkat, b i k d j menggunakan perintah CASE
Prinsip dari pemilihan dengan banyak kasus sama dengan g p pemilihan dengan g 2 kasus,, namun aksi kedua diganti dengan pemilihan 2 kasus lagi, sehingga gg didapatkan p pemilihan bertingkat. p g
Terdapat aksi alternatif bila semua kondisi tidak t terpenuhi. hi
S TRUKTUR A LGORITMA
11
P EMILIHAN - C ONTOH A LGORITMA ALGORITMA TAMPIL_GENAP_GANJIL {I.S. : masukkan s≥0 dan s≤100} {F.S. : menampilkan masukan dan ket. genap/ganjil} DEKLARASI : s, k : integer ALGORITMA : INPUT(s) k Å s MOD 2 CASE k 0 : OUTPUT(s,’ adalah angka GENAP’) 1 : OUTPUT(s,’ adalah angka GANJIL’) OTHERWISE : OUTPUT(‘Salah hitung ?’) ENDCASE
S TRUKTUR A LGORITMA
12
P ENGULANGAN (R EPETITION / L OOP )
Di
dalam Pengulangan dapat dilakukan sejumlah kali, atau selama kondisi tertentu, atau sampai kondisi tertentu.
Macam‐macam digunakan : ¾
FOR
¾
WHILE
¾
REPEAT
pengulangan
yang
dapat
S TRUKTUR A LGORITMA
13
P ENGULANGAN - FOR 1.
FOR TO DO ~
Pengulangan dengan variabel perulangan bertipe data integer dengan nilai awal dan akhir yang harus kita tentukan pada awal pengulangan.
~
Nilai awal lebih kecil dari p pada nilai akhir.
~
Setiap kali terjadi perulangan, nilai dari variabel perulangan akan bertambah 1. 1
S TRUKTUR A LGORITMA
14
P ENGULANGAN - FOR
Penulisan dalam algoritma : FOR variabel Å nilai_awal TO nilai_akhir DO { aksi } ENDFOR
S TRUKTUR A LGORITMA
15
P ENGULANGAN – FOR - C ONTOH A LGORITMA ALGORITMA TAMPIL_GENAP_GANJIL {I.S. : nilai awal = 0, nilai akhir = 100} {F.S. : menampilkan angka disertai keterangan genap atau ganjil} DEKLARASI : s, k : integer ALGORITMA : FOR s Å 0 TO 100 DO k Å s MOD 2 IF (k = 0) THEN OUTPUT(s,’ adalah angka GENAP’) ELSE OUTPUT(s ’ adalah angka GANJIL’) OUTPUT(s,’ ENDIF ENDFOR
S TRUKTUR A LGORITMA
16
P ENGULANGAN - FOR 2.
FOR DOWNTO DO ~
Pengulangan dengan variabel perulangan bertipe data integer dengan nilai awal dan akhir yang harus kita tentukan pada awal pengulangan.
~
Nilai awal lebih besar dari p pada nilai akhir.
~
Setiap kali terjadi perulangan, nilai dari variabel perulangan akan berkurang 1. 1
S TRUKTUR A LGORITMA
17
P ENGULANGAN - FOR
Penulisan dalam algoritma : FOR variabel Å nilai_awal DOWNTO nilai_akhir DO { aksi } ENDFOR
18
S TRUKTUR A LGORITMA P ENGULANGAN – FOR - C ONTOH A LGORITMA ALGORITMA TAMPIL_GENAP_GANJIL {I.S. : nilai awal = 100, nilai akhir = 0} {F.S. : menampilkan angka disertai keterangan genap atau ganjil} DEKLARASI : s, k : integer ALGORITMA : FOR s Å 100 DOWNTO 0 DO k Å s MOD 2 IF (k = 0) THEN OUTPUT(s,’ adalah angka GENAP’) ELSE OUTPUT(s ’ adalah angka GANJIL’) OUTPUT(s,’ ENDIF ENDFOR
S TRUKTUR A LGORITMA
19
P ENGULANGAN - WHILE
WHILE DO ~
Pengulangan dengan sebuah parameter pengulangan.
kondisi
sebagai
~
Pengulangan akan terjadi selama kondisi terpenuhi.
~
Pengecekan kondisi dilakukan di awal pengulangan. pengulangan
~
Ada kemungkinan aksi tidak pernah dieksekusi.
Penulisan dalam algoritma : WHILE (kondisi) DO { aksi } ENDWHILE
20
S TRUKTUR A LGORITMA P ENGULANGAN – WHILE - C ONTOH A LGORITMA ALGORITMA TAMPIL_GENAP_GANJIL {I.S. : nilai awal = 100, nilai akhir = 0} {F.S. : menampilkan angka disertai keterangan genap atau ganjil} DEKLARASI : s, k : integer ALGORITMA : s Å 0 WHILE (s ≤ 100) DO k Å s MOD 2 IF (k = 0) THEN OUTPUT(s,’ adalah angka GENAP’) ELSE OUTPUT(s,’ adalah angka GANJIL’) ENDIF S Å s + 1 ENDWHILE
S TRUKTUR A LGORITMA
21
P ENGULANGAN - REPEAT
REPEAT UNTIL ~
Pengulangan dengan sebuah parameter pengulangan.
kondisi
sebagai
~
Pengulangan akan terjadi sampai kondisi terpenuhi.
~
Pengecekan kondisi dilakukan di akhir pengulangan. pengulangan
~
Minimal aksi dieksekusi satu kali.
Penulisan dalam algoritma : REPEAT { aksi } UNTIL (kondisi)
22
S TRUKTUR A LGORITMA P ENGULANGAN – REPEAT - C ONTOH A LGORITMA ALGORITMA TAMPIL_GENAP_GANJIL {I.S. : nilai awal = 100, nilai akhir = 0} {F.S. : menampilkan angka disertai keterangan genap atau ganjil} DEKLARASI : s, k : integer ALGORITMA : s Å 0 REPEAT k Å s MOD 2 IF (k = 0) THEN OUTPUT(s,’ adalah angka GENAP’) ELSE OUTPUT(s,’ adalah angka GANJIL’) ENDIF S Å s + 1 UNTIL (s > 100)