Upload
mohammad-sadli-babonz
View
45
Download
6
Embed Size (px)
Citation preview
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