Anda di halaman 1dari 20

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 (*
*)
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}
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 }
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)
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)
Format Syntax Algoritma
JUDUL ALGORITMA Nama Algoritma

DEKLARASI/ Type namatipe : tipe [subrange]


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

Notasi Assigment
Notasi Kondisional/Pemilihan
TUBUH
Notasi Pengulangan
ALGORITMA/ Notasi Pemanggilan
DESKRIPSI
Algoritma untuk menulis Hello world:
Algoritma Hello_world
{ program untuk mencetak “Hello world”}

DEKLARASI
{tidak ada}

DESKRIPSI
Write(“Hello world”)

Algoritma dan Pemrograman I


Algoritma untuk menghitung luas segiempat :

PROGRAM LuasSegi4
{program untuk menghitung luas segiempat dengan
diketahui panjang dan lebarnya}
DEKLARASI
Luas,panjang,lebar :integer
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;

1 #include <iostream.h>
Contoh :
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;
Wilis-K

Translasi Notasi Pengendalian


Algoritma C++
1 namavaribel  harga namavar = harga;

2 INPUT(daftarvariabel) cin >> var; scanf();


atau cin.get(); gets();
read (daftarvariabel) cin.getline();
3 OUTPUT(daftar_item) cout << var; printf();
atau cout << konstanta; puts();
write(daftar_item)
4 IF <kondisi> THEN if (kondisi) aksi;
aksi atau
ENDIF if (kondisi)
{
aksi;
}
Lanjutan Translasi Notasi Pengendalian
Algoritma C++
5 IF <kondisi> THEN If (kondisi)
aksi1 aksi1;
ELSE else
aksi2 aksi2;
ENDIF
atau

If (kondisi)
{
aksi1;
}
else
{
aksi2;
}
Lanjutan Translasi Notasi Pengendalian
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;
atau case nilai2:
CASE namavarcase OF aksi_2;
expkonstan 1 : aksi_1 break;
expkonstan 2 : aksi_2 :
: case nilain:
expkonstan n : aksi_n aksi_n;
ELSE break;
aksi_lain default: aksi_lain;
ENDCASE }
Lanjutan Translasi Notasi Pengendalian
Algoritma C++
7 [inisialisasi] [inisialisasi]
WHILE <kondisi_ulang> DO while (kondisi_ulang)
daftar_aksi {
{ada aksi thd var kondisi} daftar_aksi;
ENDWHILE /*ada aksi thd var kondisi*/
}
8 [inisialisasi] [inisialisasi]
REPEAT do
daftar_aksi {
{ada aksi thd var kondisi} daftar_aksi;
UNTIL <kondisi_stop> /*ada aksi thd var kondisi*/
}
while (kondisi_ulang);
Lanjutan Translasi Notasi Pengendalian
Algoritma
9 namavar TRAVERSAL [awal..akhir]
daftar_aksi;

atau

FOR var  awal TO/DOWNTO akhir STEP counter DO


daftar_aksi
ENDFOR
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;
}

Anda mungkin juga menyukai