Anda di halaman 1dari 27

UNIVERSITAS QOMARUDDIN

z
PSEUDOCODE
z
Psudocode

 Notasi yang menyerupai bahasa pemrograman tingkat tinggi


 Kemudahan mengkonversinya (mentranslasi ke notasi bahasa
pemrograman)
z

Contoh (1) : Menghitung rata-rata tiga buah data

Algoritma dengan struktur pseudocode :


 1) input (a, b, c)
 2) Jml = a+b+c
 3) Rerata = Jml/3
 4) Output (Rerata)
z

Problem:mencari bilangan terbesar dari dua bilangan yang diinputkan


Contoh Algoritma:
1. Masukkan bilangan pertama

2. Masukkan bilangan kedua

3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4,


jika tidak, kerjakan langkah 5.
4. Tampilkan bilangan pertama

5. Tampilkan bilangan kedua


z

Contoh Pseudo-code:
1. Input a

2. Input b

3. If a > b then kerjakan langkah 4

4. print a

5. print b
z

Algoritma Pseudo-code
Nilai A ditambah dengan 5 A ←A + 5
Cetak nilai A bila lebih besar dari 10 IF A > 10 THEN PRINT A
Dari dua bilangan A dan B, cari bilangan IF A > B THEN PRINT A ELSE PRINT
yang terbesar B
z
Teks Algoritma

Teks algoritma tersusun atas 3 bagian(blok)


 Bagian Kepala (header)
 Bagian deklarasi
 Bagian deskripsi

Setiap bagian dapat disertai komentar untuk memperjelas maksud


teks yang ditulis.
Komentar adalah kalimat yang diapit oleh tanda kurung kurawal { }
atau (* *)
z

Algoritma Nama_Algoritma
{ Penjelasan tentang algoritma yang berisi uraian singkat mengenai
apa yang dilakukan oleh algoritma}

DEKLARASI
{ semua nama yang dipakai, meliputi nama tipe, nama tetapan,
nama peubah, nama prosedur, dan nama fungsi didefinisikan
disini}

DESKRIPSI
{ semua langkah aksi algoritma ditulis disini}
z
Kepala Algoritma

 Kepala Algoritma adalah bagian yang terdiri atas


nama algoritma dan penjelasan(spesifikasi) tentang
algoritma tersebut.

 Nama algoritma sebaiknya singkat namun cukup


menggambarkan apa yang dilakukan oleh
algoritma tersebut

 Spesifikasi algoritma berisi penjelasan singkat


(intisari) tentang apa yang dilakukan oleh algoritma
Algoritma LUAS_LINGKARAN
{ Menghitung luas lingkaran untuk ukuran jari-jari tertentu. Algoritma
menerima masukan jari-jari lingkaran, menghitung luasnya, lalu
mencetak luas lingkaran ke piranti keluaran }
z
DEKLARASI

 Bagian Deklarasi adalah bagian untuk


mendeklarasikan / mendefinisikan semua nama
yang dipakai dalam algoritma.
 Nama dapat berupa nama tetapan, nama peubah,
nama Tipe, nama prosedur dan nama fungsi.

Dalam resep makanan bagian deklarasi dianalogikan


dengan bagian yang menjelaskan tentang bahan-
bahan yang digunakan
DEKLARASI
{nama tetapan}
Cont phi = 3.14
{Nama tipe}
Type titik : record
< x :integer,
y : integer
>
{nama peubah }
r : integer { variabel dengan tipe data bilangan bulat)
L : real { variabel dengan tipe data bilangan real)
z
Bagian deskripsi

 Bagian ini adalah bagian inti dari suatu algoritma


 Bagian ini berisi uraian langkah-langkah penyelesaian masalah
DESKRIPSI
READ (R)
L ← PHI * R * R
WRITE (L)
z
Format Syntax Algoritma

Nama Algoritma
JUDUL ALGORITMA Type namatipe : tipe [subrange]
DEKLARASI/
Type namatipe : array [min..maks] of tipe
KAMUS
Namavar : tipe
{Lokal / Umum}
ALGORITMA
Namavar : array [ min..maks] of tipe
Const nama = nilai
Procedure namaproc
(Input/Output[daftar_nama_parameter:tipe])

Notasi Assigment
TUBUH
Notasi Kondisional/Pemilihan
ALGORITMA/ Notasi Pengulangan
DESKRIPSI Notasi Pemanggilan
z
Algoritma untuk menulis Hello world:

Algoritma Hello_world
{ program untuk mencetak “Hello world”}

DEKLARASI
{tidak ada}

DESKRIPSI
Write(“Hello world”)

Algoritma dan Pemrograman I


z

PROGRAM LuasSegi4
{program untuk menghitung luas segiempat dengan
diketahui panjang dan lebarnya}

Algoritma untuk DEKLARASI

menghitung luas Luas,panjang,lebar :integer

segiempat : ALGORITMA
panjang  10
lebar  5
Luas  panjang * lebar
write(Luas)
Translasi Teks Algoritma ke dalam Teks
Program Bahasa C++

Translasi Algoritma C++


Notasi 1 #include <nama_unit>
Kamus 2 CONST namaconst = nilai #define namaconst nilai
3 TYPE namatipe : tipedata Typedef tipedata namatipe;
4 namavar : tipedata tipedata namavar;
namavar : namatipe namatipe namavar;

Contoh : 1 #include <iostream.h>


2 CONST phi = 3.14 #define phi 3.14
3 TYPE jumlah : integer Typedef int jumlah;
4 n : integer int n;
n : jumlah jumlah n;
Algoritma C++
z 1 namavaribel  harga namavar = harga;

2 INPUT(daftarvariabel) cin >> var;


atau scanf();
read (daftarvariabel) cin.get();
gets();
cin.getline();
Translasi
3 OUTPUT(daftar_item) cout << var;
Notasi printf();
atau
Pengendalian write(daftar_item) cout << konstanta;
puts();

4 IF <kondisi> THEN if (kondisi) aksi;


atau
aksi if (kondisi)
ENDIF {
Algoritma C++
5 IF <kondisi> THEN If (kondisi)
aksi1 aksi1;
ELSE else
aksi2 aksi2;
ENDIF Lanjutan
atau Translasi
If (kondisi)
Notasi
{ Pengendalian
aksi1;
}
else
{
aksi2;
}
z

Algoritma C++
6 DEPEND ON <ekspresi> Switch (ekspresi)
<ekspresi 1> : aksi_1 {
<ekspresi 2> : aksi_2 case nilai1:
: aksi_1;
<ekspresi n> : aksi_n break; Lanjutan
atau case nilai2:
Translasi Notasi
CASE namavarcase OF aksi_2;
expkonstan 1 : aksi_1 break;
Pengendalian
expkonstan 2 : aksi_2 :
: case nilain:
expkonstan n : aksi_n aksi_n;
ELSE break;
aksi_lain default: aksi_lain;
ENDCASE }
z

Algoritma C++
7 [inisialisasi] [inisialisasi]
WHILE <kondisi_ulang> DO while (kondisi_ulang)
daftar_aksi {
{ada aksi thd var kondisi} daftar_aksi; Lanjutan
ENDWHILE /*ada aksi thd var kondisi*/
Translasi
8 [inisialisasi]
}
[inisialisasi]
Notasi
REPEAT do Pengendalian
daftar_aksi {
{ada aksi thd var kondisi} daftar_aksi;
UNTIL <kondisi_stop> /*ada aksi thd var kondisi*/
}
while (kondisi_ulang);
z
Algoritma
9 namavar TRAVERSAL [awal..akhir]
daftar_aksi;

atau
Lanjutan
FOR var  awal TO/DOWNTO akhir STEP counter DO Translasi
daftar_aksi Notasi
ENDFOR Pengendalian
C++
for(awal;kondisiulang;step)
{
daftar_aksi;
}
CONTOH ALGORITMA
Algoritma Luas_Lingkaran
{menghitung luas lingkaran diketahui jari-jarinya}

DEKLARASI
CONST phi = 3.14
r : integer
Luas : real

DESKRIPSI
r5
Luas  phi * r * r
output(”Jari –jari = ”,r);
output(”Luas lingkaran = ”,Luas);
Contoh program C++

#include <iostream.h>
#define phi 3.14

main ()
{
int r;
float Luas;
r = 5;

Luas = phi * r * r;

cout << ”Jari-jari : ” << r;


cout << ”\nLuas lingkaran : ” << Luas;
}
z LATIHAN
1. Buatlah algoritma dengan menggunakan bahasa natural
Diberikan 2 buah bejana A dan B, bejana A berisi larutan
berwarna merah, bejana B berisi larutan berwarna biru.
Tukarkan isi kedua bejana itu sedemikian sehingga bejana A
berisi larutan warna biru dan bejana B berisi larutan berwarna
merah.
2. Buatlah algoritma dengan menggunakan bahasa natural
a. Buat langkah untuk melakukan penggantian ban mobil
yang pecah ( tanpa ada masalah / syarat ).
b. Dari Soal diatas dikembangkan kembali, mis : bila ban
serep kempes atau ban serep bocor.
3. Buatlah algoritma dengan menggunakan bahasa natural
Diberikan data 5 bilangan secara acak, lakukan pengurutan
sehingga ke 5 bilangan tersebut terurut dari kecil ke besar.
z

1. Tulislah flowchart dan program untuk menghitung


dan mencetak keliling (k) dan luas (l) dari sebuah
bujur sangkar. Nilai real single precision untuk sisi (s)
diisikan melalui keyboard.
2. Tulislah flowchart dan program untuk mengisikan
nilai jari-jari sebuah lingkaran, dan kemudian
mencetak keliling dan luas lingkaran tersebut
3. Tulislah flowchart dan program memasukkan sebuah
bilangan dan kemudian cetaklah nilai satuan,
puluhan, dan ratusan dari bilangan tersebut.

Anda mungkin juga menyukai