bab 2 logika pemrograman copy

28
1 Algoritma dan struktur data

Upload: mohammad-sadli-babonz

Post on 21-Oct-2015

35 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Bab 2 Logika Pemrograman Copy

1Algoritma dan struktur data

Page 2: Bab 2 Logika Pemrograman Copy

Pengertian logika pemrograman

Logika dasar

Flowcharting

Sequential

Conditional

Looping

Algoritma dan struktur data 2

Page 3: Bab 2 Logika Pemrograman Copy

Alur berfikir yang digunakan dalampembuatan program

Ditentuan oleh: sintak (tata tulis) dan alurpengerjaan

Sintak : turbo-pascal

Alur digambarkan dgn flowchart

Tidak terdapat flow-chart baku. Digunakanmodel flowchart algol

Hanya untuk sistem program procedural

Algoritma dan struktur data 3

Page 4: Bab 2 Logika Pemrograman Copy

4

Komponen dasar pembentuk kalimat logika (sentence)

Membentuk kalimat deklaratif~yaitu kalimat yang dapat ditentukan nilai kebenarannya (truth value), true atau false tetapi tidak keduanya

Contoh:

1. Jakarta ibu kota negara Indonesia

2. 3 adalah bilangan prima yang pertama

3. 6+9>20

Dinyatakan dengan:

1. Truth Value, (misal: true dan false)

2. Propositional Symbols, (misal: p, q, r, s, t, . . .)

Page 5: Bab 2 Logika Pemrograman Copy

5

Dibangun dari proposisi-proposisi dengan menggunakan “propositional connectives”, yaitu:

not, and, or, if-then,

-if and only if-, If-then-else

Aturan pembentukan sentences:

1. Proposition, (p)

2. Negation proposisi p, (not p)

3. Conjunction, (p and q)

4. Disjunction, (p or q)

5. Implication, (if p then q)

6. Equivalence, (p if and only if q)

7. Conditional, (if p then q else r)

Page 6: Bab 2 Logika Pemrograman Copy

6

Notasi dari 6 connective:

Contoh penulisan notasi konvensional:(if ((p or q) and (if q then r) then (if (p and q)

then (not r)))adalah: ((p V q) (q r) ((p q) ~r)

Englishlike Konvensional

Not ~

And

Or V

If-then

If and only if

If-then-else- If-then-else-

Page 7: Bab 2 Logika Pemrograman Copy

7

Pemberian truth value pada setiap simbol proposisi dari suatu kalimat

logika

Contoh: not p or q

Maka, interpretasi untuk proposisi p dan q adalah:

p True

p False

atau

q True

q False

Page 8: Bab 2 Logika Pemrograman Copy

1. Negation Rule

p ~p

true False

false true

2. Conjunction Rule

p q p q

true true true

true false false

false true false

false false false

Page 9: Bab 2 Logika Pemrograman Copy

3. Disjunction Rule

p q pq

true true true

true false false

false true true

false false true

4. Implication Rule

p q pq

true true true

true false true

false true true

false false false

Page 10: Bab 2 Logika Pemrograman Copy

5. Equivalence Rule

p q p q

true true true

true false false

false true false

false false true

Page 11: Bab 2 Logika Pemrograman Copy

6. Conditional Rule

p q r If p then q

else r

true true true true

true true false true

true false true false

true false false false

false true true true

false true false false

false false true true

false false false false

Page 12: Bab 2 Logika Pemrograman Copy

Sambungan

Awal dan akhir

Proses hitung

Pernyataan kondisi

pilihan banyak dan for

Input

Output cetak

Algoritma dan struktur data 12

Page 13: Bab 2 Logika Pemrograman Copy

Dikerjakan satu demi satu dari kiri ke kanan atau dari atas ke bawah

Bentuk pernyataan

a) tunggal

b) majemuk dgn blok

c) majemuk tanpa blok

d) procedure

e) fungsi

Flow-chart

Algoritma dan struktur data 13

Page 14: Bab 2 Logika Pemrograman Copy

If then

Beberapa perintah dikerjakan sesuai dgn pernyataan kondisi tertentu

Ada beberapa bentuk

a) if then

b) if then else

c) if terstruktur

d) case of

e) go to

Pernyataan if then Sintak:

if kondisi then S ;

kondisi: pernyataan booleanS : tunggal/majemuk dgn blok / fungsi/ procedure

Algoritma dan struktur data 14

Page 15: Bab 2 Logika Pemrograman Copy

If then elseBgmn flow-chart dan Berapa hasilnya

Sintak

if kondisi then S1

else S2;

S1 dan S2 merupakan pernyataan tunggal atau majemuk dengan blok (begin … end)

Algoritma dan struktur data 15

true

false

Page 16: Bab 2 Logika Pemrograman Copy

Else pertama menjadi bagian if pertama atau if kedua

Perbaiki code (dgn blok) dan buat flow-chart

Hati-hati denganpemakaian double if

If x < y then

◦ If y > 10 then x := x + y

◦ Else x := 2*x + y

◦ Else y := 2 * x – y ;

Cara mengatasi

1. Gunakan blok2. Gunakan if

terstruktur3. Gunakan pernyataan

case of

Algoritma dan struktur data 16

Page 17: Bab 2 Logika Pemrograman Copy

Algoritma dan struktur data 17

true

false

true

false

Page 18: Bab 2 Logika Pemrograman Copy

Bgmn sintak dan flowchart

Terdapat beberapa kemungkinan pada variabel kondisi

Dilakukan pengurutan pernyataan kondisi sesuai dengan relasi yang digunakan

Relasi < atau <= , batas kondisi urut dari kecil

Relasi > atau >= , batas kondisi urut dari besar

Kasus: jika nilai antara 0 sampai dgn 40, skor = 0, nilai antara 41 sampai dgn 60, skor = 1, nilai antara 61 sampai dgn 70, skor = 2, nilai antara 71 sampai dgn 80, skor = 3, nilai lainnya memberikan skor = 4

Algoritma dan struktur data 18

Page 19: Bab 2 Logika Pemrograman Copy

Alur pemrograman mirip dengan if terstruktur

Tidak semua bahasa pemrograman menyediakan fasilitas Case of

Digunakan pendekatan algol dlm membuat flow-chart, agar lebih sederhana

SintakCase namavar of

kasus1: S1;kasus2: S2;kasus2: S3;

…kasusn: Sn;

end;

Algoritma dan struktur data 19

Page 20: Bab 2 Logika Pemrograman Copy

Algoritma dan struktur data 20

Page 21: Bab 2 Logika Pemrograman Copy

Digunakan untuk mengerjakan satu atau lebih pernyataan secara berulang

Terdapat 4 bentuk pokok rantai perulangan:

a. For

b. While

c. Repeat

d. Goto

Algoritma dan struktur data 21

Page 22: Bab 2 Logika Pemrograman Copy

Digunakan untuk perulangan dengan cacah perulangan dapat dihitung atau diketahui

Merupakan fasilitas perulangan yang paling “kuno”

Efisien diterapkan dalam merujuk elemen array

Model flowchart digunakan model algol agar sederhana

Sintakfor namavar := awal {to

atau downto } akhir do S;

S adalah pernyataan tunggal atau majemuk dgn blok

Algoritma dan struktur data 22

Page 23: Bab 2 Logika Pemrograman Copy

Algoritma dan struktur data 23

Page 24: Bab 2 Logika Pemrograman Copy

Bgmn flow-chart dan berapa hasilnya

1. set nilai var awal

2. Kerjakan pernyataan S

3. Update nilai var: pada kasus to, nilai var + 1, sedangkan pada kasus downto, nilai var – 1

4. Cek apakah EXIT terjadi, yaitu bila: pada kasus to, nilai var > akhir, sedangkan pada kasus downto, nilai < akhir

5. Jika tidak Exit kerjakan S lagi (ulangi langah 2)

x:=2 ; y := 4; for k := 1 to 3 do x := x + y;

x:=2 ; y := 4; for k := 4 downto 2 do x := x + y;

Algoritma dan struktur data 24

Page 25: Bab 2 Logika Pemrograman Copy

Digunakan untuk mengerjakan pernyataan berulang dimana perulangan akan terus terjadi selama kondisi dipenuhi

Sintak

while kondisi do S;

S adalah pernyataan tunggal atau majemuk dgn blok

Alur pengerjaantes kondisi, jika kondisi dipenuhi kerjakan pernyataan S, dan tes kondisi lagi

Mungkin terjadi bahwa pernyataan S tidak harus dikerjakan atau bahkan terjadi kasus looping forever

Algoritma dan struktur data 25

Page 26: Bab 2 Logika Pemrograman Copy

Bgmn flowchart dan Berapa hasilnya

x :=2; y := 3;

WHILE y < 6 do

begin

x := x + y;

y:=y+1;

end

Algoritma dan struktur data 26

Page 27: Bab 2 Logika Pemrograman Copy

Merupakan kebalikan dari pernyataan While

Sintak

repeat

S;

until kondisi;

S : pernyataan tunggal atau majemuk tanpa blok

alurnya: kerjakan pernyataan S, dan tes kondisi. Jika kondisi tidak dipenuhi kerjakan pernyataan S lagi

Pernyataan S minimal dikerjakan satu kali, mungkin terjadi kasus looping forever

Algoritma dan struktur data 27

Page 28: Bab 2 Logika Pemrograman Copy

Bgmn flowchart dan Berapa hasilnya

x :=2; y := 3;

Repeat

begin

x := x + y;

y:=y+1;

end; until

y < 6;

Algoritma dan struktur data 28