Notasi Algoritma Bahasa Pemrograman | C++

Assalamualaikum apa kabar teman-teman sekalian semoga sehat dan selalu semangat untuk terus belajar dan belajar. Ok kali ini saya akan posting kembali Materi selanjutnya yaitu adalah Notasi Algoritma Bahasa Pemrograman.
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;


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..

SHARE

Milan Tomic

Hi. I’m Designer of Blog Magic. I’m CEO/Founder of ThemeXpose. I’m Creative Art Director, Web Designer, UI/UX Designer, Interaction Designer, Industrial Designer, Web Developer, Business Enthusiast, StartUp Enthusiast, Speaker, Writer and Photographer. Inspired to make things looks better.

  • Image
  • Image
  • Image
  • Image
  • Image
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment