bab 2 logika pemrograman copy
TRANSCRIPT
![Page 1: Bab 2 Logika Pemrograman Copy](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/1.jpg)
1Algoritma dan struktur data
![Page 2: Bab 2 Logika Pemrograman Copy](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/2.jpg)
Pengertian logika pemrograman
Logika dasar
Flowcharting
Sequential
Conditional
Looping
Algoritma dan struktur data 2
![Page 3: Bab 2 Logika Pemrograman Copy](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/17.jpg)
Algoritma dan struktur data 17
true
false
true
false
![Page 18: Bab 2 Logika Pemrograman Copy](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/20.jpg)
Algoritma dan struktur data 20
![Page 21: Bab 2 Logika Pemrograman Copy](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/23.jpg)
Algoritma dan struktur data 23
![Page 24: Bab 2 Logika Pemrograman Copy](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022042615/55cf9910550346d0339b591a/html5/thumbnails/28.jpg)
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