Anda di halaman 1dari 35

Notasi Pseudocode

Pertemuan ke 3
STRUKTUR PSEUDOCODE

•Judul Program
•Deklarasi
•Deskripsi Algoritma
• Algoritma • Program
1.baca a dan b. #include <stdio.h>
2.c ← a + b.
int main()
3. cetak nilai c.
{
    int a,b,c;
    printf(“Masukkan bil pertama:“);
scanf (“%d”,&a);
printf(“Masukkan bil kedua:“);
scanf (“%d”,&b);
    c=a+b;
    printf(“%d+%d=%d\n”,a,b,c);
return 0;
}
Pseudocode
• Pseudocode merupakan algoritma yang strukturnya mirip
dengan pemrograman sebenarnya, khususnya bahasa
pemrograman terstruktur
• Pseudocode lebih tepat digunakan untuk
menggambarkan algoritma yang akan dikomunikasikan
kepada programmer.
Judul Program
Judul Program ditulis dengan struktur :

Program <Nama Program >


Deklarasi
• Mendefinisikan semua nama yang digunakan di
dalam algoritma.
• Nama variabel, tetapan, tipe, prosedur dan
fungsi
• Format penulisannya:

<nama> : <tipe_data>
Deskripsi Algoritma
• Mendeklarasikan jalannya algoritma yang dibuat
• Format penulisan
- assignment : nilai ← 20
- operasi : Luas ← Panjang * Lebar
- perulangan
- percabangan
STRUKTUR PSEUDOCODE
Program untuk mencetak tulisan :
CONTOH PSEUDO-CODE

Program HitungLuasPersegiPanjang
{Program untuk menghitung luas persegi panjang}

Deklarasi variabel
p, l, Luas : integer

Deskripsi
read (p,l);
Luas ← p*l ;
write (Luas);
ELEMEN PSEUDOCODE

• Variabel
• Perintah/Instruksi
• Assignment atau penugasan dan ekspresi
• Struktur kendali aliran
• Komentar
Variabel
• Variabel adalah elemen dari algoritma untuk
menyimpan nilai tertentu pada suatu saat, dan pada
saat yang lain nilai ini dapat diubah menjadi nilai
lainnya sesuai kebutuhan.
• Beberapa catatan agar mudah dipindah ke program C
• Dituliskan dengan suatu nama yang unik, terdiri dari
alphanumeric, tetapi harus dimulai dengan huruf atau
underscore.
• Case-sensitive (variabel X berbeda dengan variabel x)
• Contoh: a, b, c, n, sum, .....
• Pada contoh di atas, mana saja yang termasuk
variabel?
Perintah/Instruksi
• Perintah/instruksi adalah satuan operasional dari
suatu algoritma.
• Dinyatakan dalam kalimat sehari-hari yang mudah
dipahami dan konsisten.
• Diakhiri tanda titik koma (;)
• Contoh:
read(a,b,c);
print(sum);
Assignment dan Ekspresi
• Ekspresi adalah operasi yang akan dievaluasi (diproses) untuk menghasilkan suatu nilai.
Ekspresi dapat bersifat aritmetika (menghasilkan angka) maupun logika (menghasilkan kondisi
TRUE atau FALSE).
• Assignment atau penugasan adalah pemberian suatu nilai di sisi kanan ke suatu penampung
(mis. variabel) di sisi kiri.
• Nilai di sisi kanan dapat berupa nilai literal, variabel lain, atau suatu ekspresi.
• Tanda “=“ menggantikan tanda “←”
• Bukan bermakna kesamaan
• Contoh:
sum = 0; a = -7; max = 9.513;
x = n; b = a + 4; c = 4 / x;
c = a + b; sum = sum + x;
Struktur Kendali Aliran
• Struktur kendali aliran adalah suatu bentuk
atau struktur yang memiliki peranan khusus
untuk mengatur atau mengendalikan urutan
pengerjaan satu atau lebih operasi atau
instruksi.
• Struktur kondisi (conditional): if, if – else, switch
• Pilihan berdasarkan syarat/kondisi tertentu
• Struktur pengulangan (looping): for, while
• Perulangan berdasarkan syarat/kondisi tertentu
• Struktur lainnya: continue, exit, return
Komentar
• Komentar adalah suatu catatan tambahan yang dituliskan
ke dalam algoritma dengan tujuan untuk memperjelas,
tetapi tidak mempengaruhi operasi apa pun di dalam
algoritma.
• Diberi notasi awal ”//”
• Dapat dituliskan sebagai baris terpisah atau setelah suatu
pernyataan.
• Mulai tanda “//” hingga akhir baris tidak diproses (tidak
berpengaruh pada perilaku dan hasil program)
• Contoh:
• // Algoritma menjumlahkan dua bilangan bulat
• // Dibuat pada 2 September 2012
Contoh notasi dengan pseudocode

Algoritma jumlah
x,y,jumlah : integer

input (x,y)
jumlah ← x+y
output (jumlah)
Contoh notasi dengan pseudocode
Contoh notasi dengan pseudocode
SOAL LATIHAN
Buatlah pseudocode untuk permasalahan berikut
Menentukan kelulusan dari tiga nilai
•Diberikan tiga buah nilai ujian. Jika rata-rata dari tiga nilai kurang dari 50, maka
statusnya adalah TIDAK LULUS, sedangkan lainnya (lebih besar atau sama
dengan 50) dinyatakan LULUS.

Menentukan perkalian 2 bilangan bulat

Menghitung umur seseorang


Solusi Soal Latihan
Algoritma MenentukanKelulusan3Nilai
nilai1, nilai2, nilai3, jlh : integer
rataan : real

input (nilai1, nilai2, nilai3)


jlh ← nilai1 + nilai2 + nilai3
rataan ←jlh/3
if (rataan<50) then output “Tidak Lulus”
else output “Lulus”
Algoritma PerkalianDuaBil
a, b, c : integer

Input(a,b);
c ← a * b;
Output (c);
Tugas Individu
• Tentukanlah algoritma untuk memecahkan
permasalahan “menentukan bilangan terbesar dari
tiga buah bilangan bulat”.
• Tuliskan notasi algoritmanya dalam tiga cara
kalimat deskriptif
flowchart
pseudocode
Program BilanganTerbesar
Deklarasi
a,b,c : integer
Deskripsi
read a,b,c
if a>b and a>c then
print “A bilangan terbesar”
else
if b>a and b>c then
print “B bilangan terbesar”
else
print “C bilangan terbesar”
endif
endif
Endif
1. Read a,b,c, besar
2. Jika a>b maka
besar ←a
Selainnya
besar ←b
3. Jika c >besar maka besar ← c
4. Cetak (besar)
Bandingkan
dengan
algoritma
berikut..!!
Masalah dan Perumusannya
• Algoritma digunakan untuk menyelesaikan suatu
permasalahan
• Dalam menyelesaikan suatu permasalahan
menggunakan algoritma lakukan perumusan
masalahnya terlebih dahulu setelah itu dilanjutkan
dengan penulisan algoritmanya.
Masalah dan Perumusannya
• Masalah
Buat algoritma menentukan apakah suatu bilangan bulat
habis dibagi oleh a (a>0)
• Perumusan masalah
Untuk menentukan apakah satu bilangan (misal b) habis
dibagi oleh a, dapat dilakukan dengan menentukan sisa
pembagian, yaitu menggunakan operasi modulo (mod).
Jika bilangan b mod a = 0 maka bilangan b tersebut berarti
habis dibagi oleh a, dan algoritma akan mencetak teks YA.
Selainnya, akan mencetak teks TIDAK.
Algoritme HabisDibagi
// Memeriksa apakah b habis dibagi oleh a
b, a : integer
read(b,a)
t = b mod a
// Perhatikan tanda “==“ untuk tes kesamaan
if (t == 0) // Periksa nilai t
print(" YA")
else print(" TIDAK")
Masalah dan Perumusannya
• Masalah
Buat algoritma mencetak bilangan 1, 2, 3, sampai dengan n (n>0)
• Perumusan masalah

Masalah ini mirip dengan mesin penghitung (counter) yang biasa digunakan
pramugari untuk menghitung banyak penumpang pesawat yang masuk sampai
jumlah penumpang yang seharusnya tercapai.
Di awal, counter diset ke 0 (disebut inisialisasi, misalnya c=0).
Setelah itu, tombol ditekan sehingga nilai sebelumnya bertambah 1 (c=c+1). Hal
ini dilakukan seterusnya selama (while) c kurang dari n sambil mencetak nilai c.
Algoritma CetakN
// Mencetak bilangan 1, 2, sampai dengan n
n: integer
read(n); // sampai bilangan berapa?
c = 0; // inisialisasi
while (c<n) // selama c kurang dari n
c=c+1; // nilai c sebelumnya ditambah 1
print(c);
Men-trace Algoritma
• Men-trace algoritma adalah suatu proses untuk
menelusuri langkah demi langkah dari suatu algoritma
dan menentukan output akhirnya.
• Dalam pemrograman, proses ini disebut juga sebagai
proses debug.
• Tips:
- Ikuti langkah demi langkah
- Catat setiap perubahan nilai dari suatu variabel
- Jika menemukan suatu pola tertentu, output akhir
dapat langsung ditentukan tanpa mengikuti algoritma
sampai selesai (hanya dilakukan oleh orang yang sudah
sangat memahami algoritma)
Contoh Men-trace algoritma
// Misal input n=4
Algoritma printN {
read(n);
c = 0;
while (c<n) {
c=c+1;
print(c);
}
}
//Misal input x=9, y=4, z=10
procedure something(x, y, z)
x, y, z : integer;
read (x,y,z)
huge = x
if y>huge then
huge := y
if z>huge then
huge := z
print (huge)
end
//Misal input a=2, b=5
a,b : int
Berapa output dari
read a,b program
if a=b then disamping..??
print (a*b + 2)
else
print (a+1)
end
• Trace-lah program berikut jika diberikan input 40 dan 200, apa output dari program tersebut? Apa
sebenarnya yang dilakukan program tersebut?
#include <stdio.h>
int main()
{
int a, b, c;
read( a, b);
c = a; a = b; b = c;
print(a, b);
return 0;
}

Anda mungkin juga menyukai