Pseudo-C
● Pseudocode Like C
● Komponen Algoritme
● Precedence and Associativity
read(a,b);
c=a;
a=b;
b=c;
Praktikum Pseudocode #2
Buatlah pseudocode untuk mendapatkan nilai satuan tahun dan
bulan dari usia yang diketahui dalam satuan bulan. Sebagai
contoh, usia 14 bulan berarti 1 tahun 2 bulan (nilai tahun=1, dan
nilai bulan=2). Maka output dari masalah ini adalah 1 2.
● Input : bulan
● Output : tahun dan bulan
read(bulan);
tahun=bulan/12;
bulan%=12;
write(tahun,bulan);
Praktikum Pseudocode #3
Setiap pelanggan warung Tahu Sumedang dikenakan pajak 15%
dari nilai pembelian. Dapatkan nilai pembelian yang sebenarnya
jika diketahui Pak Ramadhan membayar belanja tahu di kasir
dengan nilai uang tertentu.
read(bayar);
harga=bayar/1.15;
write(harga);
Praktikum Pseudocode #4
Diketahui lembar uang rupiah 100 ribuan, 50 ribuan, 10 ribuan, 5 ribuan, 2
ribuan, dan seribuan dalam jumlah yang tak terbatas. Jika diberikan suatu nilai
uang dalam satuan ribuan, dapatkan banyaknya setiap lembar uang yang
mungkin, dimulai dari nilai lembar uang terbesar hingga terkecil. Sebagai
contoh, uang 59 ribu (input data adalah 59) akan memiliki 0 lembar 100 ribuan,
1 lembar 50 ribuan, 0 lembar 10 ribuan, 1 lembar 5 ribuan, 2 lembar 2 ribuan, 0
lembar seribuan. Maka output dari masalah ini adalah 0 1 0 1 2 0.
read(nilai);
write(nilai/100); sisa=nilai%100;
write(sisa/50); sisa%=50;
write(sisa/10); sisa%=10;
write(sisa/5); sisa%=5;
write(sisa/2); sisa%=2; write(sisa);
Ingat Problem Mesin Pencetak?
● Ini adalah algoritme, yaitu sekumpulan instruksi yang ditulis
untuk melakukan pekerjaan (menjawab persoalan).
● Komponen algoritme antara lain adalah
variabel, misalnya K, Q.
● Struktur algoritme: sequential, conditional, looping.
● Jawaban yang benar adalah A. Mengapa?
Tentukan K (lingkaran)
Ulangi:
Tentukan Q (persegi)
Tentukan ukuran K, BESAR atau KECIL
Cetak K
Cetak Q
Komponen Algoritme
Buat algoritme yang menerima jawaban dari user atas pertanyaan:
Berapa suhu saat ini? Jika suhu dibagi 2 kurang dari 10, tuliskan
kalimat "Bawa jaket".
read(suhu);
if (suhu/2<10) write("Bawa jaket");
Bilangan Bulat
Integer 10, 5, -2
Floating point
Float 2.5, -1.089
Literal
Karakter
Character 'a', '5', ''
String atau teks
String
"5", "bogor", ""
Ekspresi dan Operator
● Ekspresi adalah operasi yang akan menghasilkan nilai.
Contoh: a, x, a + b, a ∗ b, −x , 5, a < b, etc.
● Ekspresi dapat melibatkan operator
Menggunakan
ARITMATIKA operator aritmatika
Menggunakan
PENUGASAN operator penugasan
Menggunakan
LOGIKA operator logika
Ekspresi Aritmatika
Ekspresi Penugasan
● Menggunakan operator penugasan (=)
● Ada dua bagian yang dipisahkan oleh operator =,
yaitu:
○ L-Value : variabel penyimpanan nilai
○ R-Value : nilai ekspresi yang disimpan
● Contoh:
○ a=5
○ b = a = 10
○ c=c+5
Ekspresi Penugasan Majemuk
Menggabungkan operator penugasan dengan operator aritmatika
Ekspresi Logika
Hasil ekspresi logika adalah {true, false}
Latihan
Apa output algoritme berikut jika diberikan input:
5 3 4
read(a,b);
c=a+b;
write(a,b,c);
read(b);
c*=b;
write(a,b,c);
Latihan
Apa output algoritme berikut;
result=4*4+4*4+4-4*4;
write(result);
result=(4*(4+4)*4+4)-4*4;
write(result);
ASSOCIATIVITY
● Menentukan arah evaluasi bila ada dua atau lebih operator
dengan tingkat precedence yang sama.
● Dilambangkan dengan left-to-right (LR) atau right-to-left (RL)
Precedence & Associativity
Kondisi IF start
read(suhu); suhu/2<10
?
if (suhu/2<20)
write("Bawa jaket"); F T
else
write("Bawa kaos"); write
("Bawa jaket")
write
("Bawa kaos")
end
Compound Statement
● Menggabungkan 1 atau lebih pernyataan (kalimat
algoritme) ke dalam satu blok
● Ditandai oleh { … }
● Contoh:
read(a);
baca nilai a
jika a kurang dari 5, lakukan:
if (a<5)
● tambahkan 2 ke a {
● Cetak nilai a a+=2;
Selainnya, cetak nilai 0. write(a);
}