Pendahuluan
•Teks algoritma berisi deskripsi atau langkah-
langkah penyelesaian masalah. Deskripsi
tersebut dapat ditulis dalam notasi apapun
asalkan mudah dibaca dan dimengerti.
•Tidak ada notasi yang baku dalam penulisan
teks algoritma sebagaimana pada notasi
bahasa pemrograman.
•Tiap orang dapat membuat aturan penulisan
dan membuat algoritma sendiri. Hal ini dapat
dimenegerti karena teks algoritma tidak sama
dengan teks program.
•Program adalah implementasi algoritma dalam
notasi bahasa pemrograman tertentu. Namun,
agar notasi algoritma dalam notasi bahasa
pemrograman, maka sebaiknya notasi algoritma
tersebut berkoresponden dengan notasi atau
bahasa pemrograman secara umum.
•Contoh perintah tulis nilai X dan Y dalam notasi
algoritma menjadi write(X,Y)
•Notasi write ini berarti nilai X dicetak ke piranti
keluaran. Tidak penting apakah X dan Y ditulis ke
layar atau ke printer atau ke piranti keluaran
yang lain.
•Selain itu, di dalam algoritma kita tidak
memepersoalkan format tampilan keluaran
misalnya apakah hasil penulisan antara X dan Y
dipisah dengan spasi atau dengan koma juga
apakah X dan Y dicetak di dalam baris yang
sama atau tidak, dll.
•Hal-hal ini teknis semacam ini baru dipikirkan
pada saat translasi algoritma menjadi program.
Dengan demikian notasi algoritma benar-benar
abstraksi dari notasi bahasa pemrograman.
•Notasi “ write” di dalam algoritma
berkorespondensi dengan write atau writeln.
•Dalam bahasa C setiap instruksi dipisahkan
dengan ; (semicolon). Jadi translasi write(X) ke
dalam masing-masing bahasa tersebut adalah
dengan anggapan piranti keluarannya adalah
layar.
writeln(X, Y); dalam bahasa pascal
printf(“%d, X, Y); dalam bahasa C
•Dari contoh diatas dapat dilihat bahwa setiap
bahasa mempunyai aturan sendiri dalam
menggunakan perintah penulisan. Bahasa C
misalnya mengharuskn penulisan penentu
format (“%d”, ini berarti X dan Y yang akan
dicetak bertipe bilangan bulat). Selain itu, setiap
instruksi ditutup dengan ; (titik koma)
•Contoh lain misalnya perintah untuk :
isikan nilai X ke dalam min
ditulis dalam notasi algoritma menjadi min x
•Notasi berarti mengisi (assign) peubah
(variabel) min dengan nilai peubah X. Translasi
notasi “” ke dalam bahasa Pascal “:=“, dalam
bahasa C adalah “=“.
•Jadi translasi min x ke dalam masing-masing
bahasa tersebut adalah
min := X; dalam bahasa pascal
min=X; dalam Bahasa C
Struktur Teks Algoritma
1. JUDUL ALGORITMA
•Judul algoritma adalah bagian yang terdiri atasa
nama algoritma dan penjelasan (spesifikasi)
tentang algoritma tersebut. Nama algoritma
sebaiknya singkat, namun cukup
menggambarkan apa yang dilakukan algoritma
tersebut.
•Di bawah algoritma disertai dengan penjelasan
singkat atau intisari tentang apa yang dilakukan
oleh algoritma. Penjelasan di bawah nama
algoritma sering dinamakan juga spesifikasi
program
Struktur Teks Algoritma (2)
•Contoh penulisan judul algoritma adalah
Algoritma Luas_Lingkaran judul algoritma
{menghitung luas lingkaran untuk jari-jari tertentu.
Algoritma menerima masukan jari-jari lingkaran,
menghitung luasnya, lalu mencetak luas lingkaran ke
piranti keluaran spesifikasi algoritma}
Struktur Teks Algoritma (3)
2. Deklarasi
•Deklarasi nama adalah bagian untuk
mendefinisikan semua nama yang dipakai di
dalam algoritma.
•Nama tersebut dapat berupa nama tetapan,
nama peubah, nama tipe, nama prosedur dan
nama fungsi.
•Contoh pendefinisian nama di dalam deklarasi
adalah
DEKLARASI
{nama konstanta}
const NPeg = 100 {jumlah
pegawai}
const phi = 3.14 {nilai PHI}
{nama tipe}
Type Titik : record {koordinat titik
di bidang kartesian}
< x:integer,
Y;integer
>
{nama peubah (variable) }
c : char {karakter yang
dibaca}
Q: titik {titik dalam
koordinat kartesian}
ketemu : Boolean {keadaan hasil
pencarian}
function Apakah_A (input
c:char) boolean
{
Mengembalikan nilai true bila c
adlah karakter A atau flase
bila sebaliknya}
procedure Tukar (input/output
A:integer, input/output
B:integer)
{Mempertukarkan nilai A dan B}
{Parameter A dan B sudah
terdefinisi nilainya}
{Setelah pertukaran, A berisi nilai
B semula, B berisi nilai A
semula}
Struktur Teks Algoritma (4)
3. Deskripsi
•Deskripsi merupakan bagian inti dari suatu
program. Bagian ini berisi langkah-langkah
penyelesaian masalah. Misalnya notasi write
digunakan untuk mencetak data atau informasi,
notasi read untuk membaca data, dsb
•Setiap langkah algoritma, dibaca dari atas ke
bawah. Urutan penulisan menentukan urutan
perintah.
•Deskripsi pada algoritma, mempunyai kemiripan
fungsi pada bagian “cara membuat” dalam sebuah
resep masakan.
Struktur Teks Algoritma (5)
•Contoh deskripsi algoritma :
DESKRIPSI :
read (c,d)
if c < d then
ea+b
else
ea-b
endif
write(e)
Translasi Teks ke dalam Bahasa
Pemrograman
•Teks algoritma adalah hasil pemikiran konseptual.
Agar dapat dilaksanakan oleh kompuyer,
algoritma harus ditranslasi ke dalam notasi bahas
apemrograman.
•Biasanya bahasa pemrograman untuk
mentraslasi ini digunakan bahas Pascal atau
bahasa C. hal ini karena bahasa Pascal
merupakan bahasa pendidikan, sedangkan Bahas
C karena memiliki lingkungan penggunaan yang
luas di dalam industri perangkat lunak.
Translasi Teks ke dalam Bahasa
Pemrograman (2)
•ALGORITMA
Algoritma NAMA_ALGORITMA
{penjelasan tentang algoritma yang berisi uraian singkat
mengenai apa yang dilakukan oleh algoritma}
DEKLARASI
{semua nama yang dipakai, meliputi nam atipe, nama
tetapan, nama peubah, nama prosedur dan nama fungsi
didefinisikan disini}
DESKRIPSI:
{semua langkah/ aksi algoritma dituliskan disini}
Translasi Teks ke dalam Bahasa
Pemrograman (3)
•Beberapa hal penting yang harus diketahu dari
Bahasa C :
a.Bahasa C bersifat case sensitif. Artinya bahasa
C membedakan huruf besar dan huruf kecil
b.Dalam bahasa C , deklarasi yang didefinisikan
sebelum kata main() adalah deklarasi global,
artinya semua nama yang didefinisikan di
dalam deklarasi global dikenal diseluruh
bagian program, termasuk di dalam funngsi
atau prosedur ayang ada di dalam program
itu.
Apabila deklarasi didefinisikan di dalam
main(), maka nama di dalam bagian
deklarasi (disebut deklarasai lokal) hanya
dikenal oleh program utama saja, tetapi
tidak dikenal oleh fungsi atau prosedur.
c.Dalam Bahasa C, komentar ditulis diantara
“/*” dan “*/”.
Algoritma
MENGHITUNG_NILAI_RATA_RATA
{menghitung nilai rata-rata sekumpulan
bilangan bulat yang dibaca dari piranti
masukan{
DEKLARASI
X : integer {peubah data
bilangan bulat}
N : integer {banyaknya data
bilangan bulat, N>0}
k : integer {pencacah jumlah
pengulangan}
jumlah : integer{jumlah seluruh data
bilangan bulat}
rata: real {rata-rata data
bilangan bulat}
DESKRIPSI
read(N) {baca banyak data}
K1 {mulai
dari data pertaa}
jumlah 0
while k<N do
read{x}
jumlahjumlah +x
kk+1 {cacah
pengulangan selanjutnya}
endwhile
{k>N{
ratajumlah/N {rata-rata dari bilangan
bulat{
write{rata}
•Algoritma dalam Bahasa C
/* Program menghitung nilai rata-rata */
#include <iostream.h>
#include <conio.h>
Main()
{
/* DEKLARASI */
int X; /* peubah data bilangan bulat */
int N;/* banyaknya data bilangan bulat, N > 0*/
int k;/* pencacah jumlah pengulangan */
int jumlah;/* jumlah seluruh data bilangan bulat */
float rata;
}
/*DESKRIPSI */
cout << “Masukkan jumlah data: “ ; /*baca banyaknya data*/
cin>>x;/* isi data*/
k=1;
jumlah=0;
while ( k <= N)
{cout<<”x=?”;
cin>>x;
jumlah=jumlah + x;
k++;/*cacah pengulangan selanjutnya*/
}
/* k > N */
rata=(float)jumlah/N; /*rata-rata data bilangan bulat */
cout<<”Rata-rata seluruh data “<<rata;
getch();
}