untuk Memahami Notasi algoritma dan struktur program bahasa C++. Teks algoritma tidak sama dengan teks program komputer. Tidak ada standarisasi untuk menuliskan teks algoritma,
setiap orang dapat saja membuat notasi algoritmiknya sendiri, sedangkan program komputer adalah realisasi teknis dari algoritma dalam notasi bahasa pemrograman. Agar notasi algoritma mudah ditranslasikan kedalam notasi bahasa pemrograman, maka sebaliknya notasi algoritmik tersebut berupa pseudo-code yang berkoresponden dengan bahasa pemrograman secara umum.
Contoh Notasi
Pernyataan dalam notasi deskriptif :
tulis nilai X
Maka pseudocodenya dalam notasi algoritmik menjadi:
write(X)
atau
output(X)
Notasi algoritmik dalam bentuk pseudo-code mudah ditranslasikan
kedalam notasi bahasa pemrograman. Notasi write di dalam algoritma berkoresponden dengan printf
dalam bahasa C atau writeln dalam bahasa pascal atau cout dalam bahasa C++.
Jadi translasi write( X,Y)
ke dalam masing-masing bahasa tersebut adalah:
Bahasa C
printf(“%d “,X);
Bahasa pascal
writeln(X);
Bahasa C++
cou t << X;
Struktur Teks Algoritma
contoh 1 : Hello world
Program ini pertama kali dikemukakan oleh Brian W. Kernighsn (penemu bahasa C)
Algoritma untuk menulis Hello world:
Algoritma
Hello_world
{ program untuk mencetak “Hello world”}
DEKLARASI
{tidak ada}
DESKRIPSI
Write(“Hello world”)
Contoh 2 : Algoritma LuasSegi4
{program untuk menghitung luas segiempat dengan diketahui panjang dan lebarnya}
DEKLARASI
Luas,panjang,lebar :integer
DESKRIPSI
ß panjang 10
ß lebar 5
Luas ß
panjang * lebar
write(Luas)
contoh sederhana di atas, ada beberapa format penulisan algoritma yang dipakai, tetapi pada intinya sama saja. Maka pada dasarnya algoritma selalu disusun berdasarkan 3 bagian, antara lain:
1. Judul Algoritma
Judul adalah bagian yang terdiri atas nama algoritma dan penjelasan tentang algoritma tersebut. Nama algoritma sebaiknya singkat dan jelas dan algoritmanya juga harus sesuai dengan spesifikasi masalah yang diberikan. Misalnya contoh algoritma di atas, mempunyai judul:
Algoritma
Hello_world
{algoritma untuk mencetak “Hello world”}
2. Deklarasi / Kamus
Digunakan untuk mengumumkan semua nama yang dipakai didalam algoritma beserta propertiesnya (misal type). Nama tersebut dapat berupa nama konstanta, nama peubah, nama tipe, nama procedure dan nama fungsi. Semua nama yang dipakai di dalam algoritma harus dideklarasikan sebelum
digunakan. Misalnya, algoritma Hello_world mengandung bagian deklarasi yang kosong, sedangkan algoritma LuasSegi4 berisi deklarasi nama-nama peubah yang digunakan di dalam algoritma beserta tipenya, yatu:
DEKLARASI
Luas,panjang,lebar :integer
Penjelasan : peubah Luas, panjang dan lebar digunakan dalam algorima nama-
nama peubah ini beserta tipenya harus diumumkan di bagian deklarasi sebelum
mereka digunakan.
3. Algoritma / Deskripsi
Algoritma adalah bagian inti dari sebuah algoritma dari suatu program. Bagian ini berisi deskripsi langkah-langkah penyelesaian masalah berupa pernyataan- pernyataan, pernyatan tersebut ditulis dengan notasi. Setiap pernyataan dalam algoritma dibaca dari “atas” ke “bawah”
Misalnya:
• notasi write yaitu untuk mencetak data/informasi
• read untuk membaca data
Format Syntax Algoritma
Nama Algoritma JUDUL ALGORITMA
DEKLARASI/
Type namatipe : tipe [subrange]
KAMUS
Type namatipe : array [min..maks] of tipe
{Lokal / Umum}
Namavar : tipe
Namavar : array [ min..maks] of tipe
Const nama = nilai
Procedure namaproc
(Input/Output[daftar_nama_parameter:tipe])
TUBUH ALGORITMA
ALGORITMA/Notasi Assigment
DESKRIPSI
Notasi Kondisional
Notasi Pengulangan
Notasi Pemanggilan
URAIAN ALGORITMA
Kumpulan algoritma masing-masing Procedure ataupun
Function yang dipanggil dari Tubuh Algoritma
Contoh Algoritma ke dalam Bahasa Pemrograman
Contoh 1 : buatlah algoritma tukar nilai.
ALGORITMA:
Algoritma TUKAR
{mempertukarkan nilai A dan B}
DEKLARASI
A,B: integer
Temp : integer
DESKRIPSI
A ß 1
B ß 2
Temp ß A ( simpan nilai A kedalam temp)
A ß B (simpan nilai B kedalam A)
B ß temp (isikan nilai temp kedalam B)
Bahasa Pascal
Program TUKAR_AB;
{ program utama untuk mempertukarkan nilai A dan B.}
(*DEKLARASI*)
var
A,B:integer;
temp : integer;
begin
A:=1;
B:=2;
{cetak nilai X dan Y sebelum pertukaran}
write(’A=’,A);
write(’A=’,A);
temp:=A;
A:=B;
B:=temp;
{cetak nilai X dan Y setelah pertukaran}
write(’A=’,A);
write(’A=’,A);
end;
Program TUKAR_AB;
{ program utama untuk mempertukarkan nilai A dan B.}
(*DEKLARASI*)
var
A,B:integer;
temp : integer;
begin
A:=1;
B:=2;
{cetak nilai X dan Y sebelum pertukaran}
write(’A=’,A);
write(’A=’,A);
temp:=A;
A:=B;
B:=temp;
{cetak nilai X dan Y setelah pertukaran}
write(’A=’,A);
write(’A=’,A);
end;
Bahasa C (dapat juga ditulis dengan bahasa C++)
/*Program TUKAR_XY untuk mempertukarkan nilai X dan Y.*/
#include<stdio.h>
#include<conio.h>
/*DEKLARASI*/
int A,B,temp;
main()
{
A=1; B=2;
/*cetak nilai A dan B sebelum pertukaran*/
printf(”A=%d \n”,A);
printf(”B=%d \n”,B);
temp=A;
A=B;
B=temp;
/*cetak nilai A dan B setelah pertukaran*/
printf(”A=%d \n”,A);
printf(”B=%d \n”,B);
}
Bahasa C++
#include <iostream.h>
void main ()
{
int A, B, temp;
A = 1;
B = 2;
/*cetak nilai A dan B sebelum pertukaran*/
cout << "A = " << A <<endl;
cout << "B = " << B <<endl;
temp=A;
A=B;
B=temp;
/*cetak nilai A dan B setelah pertukaran*/
cout << "A = " << A <<endl;
cout << "B = " << B <<endl;
}
Ok sekian dulu teman-teman materi kali ini.
silahkan jika ada pertanyaan bisa langsung kirim pesan disini,
Semoga dapat bermanfaat. Jangan Lupa Komen / tinggalkan jejak ya.. :D
Wassalam..
0 comments:
Post a Comment