bab 2 logika pemrograman copy

Post on 21-Oct-2015

35 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1Algoritma dan struktur data

Pengertian logika pemrograman

Logika dasar

Flowcharting

Sequential

Conditional

Looping

Algoritma dan struktur data 2

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

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, . . .)

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)

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-

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

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

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

5. Equivalence Rule

p q p q

true true true

true false false

false true false

false false true

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

Sambungan

Awal dan akhir

Proses hitung

Pernyataan kondisi

pilihan banyak dan for

Input

Output cetak

Algoritma dan struktur data 12

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

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

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

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

Algoritma dan struktur data 17

true

false

true

false

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

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

Algoritma dan struktur data 20

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

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

Algoritma dan struktur data 23

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

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

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

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

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

top related