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();
}