Pengertian Array

  Pengertian Array

Array atau larik adalah koleksi data dimana setiap elemen memakai nama yang sama dan bertipe sama dan setiap elemen diakses dengan membedakan indeks arraynya.
Array adalah variabel berindeks. Indeks harus bertipe yang memiliki keturutan (ada succesor dan predesor), misal integer, byte, character dan boolean.
Jadi array dipakai untuk menyajikan sekumpulan data yang bertipe sama dan disimpan dengan urutan sesuai dengan indeks secara kontinyu.
2.2.        Deklarasi Array Dimensi Satu
Algoritma :
Bentuknya :

DEKLARASI

NamaArray : Array[range_indeks]of tipe

Atau

TipeArray : TYPE Array[range_indeks]of tipe
NamaArray : TipeArray
Cara mengakses suatu elemen :
NamaArrayindeks
Contoh :
X : Array[1..10] of integer
Artinya    : mendefinisikan 10 variabel bertipe integer
Yaitu       : X1, X2, X3, … X10
Contoh lain :

NamaHari  : Array [1..7] of String

Nilai   : Array [1..10] of Char
Frekuensi : Array[‘A’..‘E’] of Real

Cara Memberikan Nilai/Harga pada Array

NilaiMka : Array[1..10] of Char

NilaiMka1 ß ’A’
NilaiMka2 ß ’C’
NilaiMka3 ß ’ ’
Bahasa C++ :
Variabel array dideklarasikan dengan mencantumkan tipe dan nama variable yang diikuti dengan banyaknya lokasi memori yang ingin dibuat.
Bentuknya :
tipe nama_var[ukuran];
Dengan :
● tipe : menyatakan jenis elemen array (int, char, unsigned, dan lain-lain)
● ukuran : menyatakan jumlah maksimal elemen array
Contoh : 
● int c[5];
C++ secara otomatis akan menyediakan lokasi memori sesuai dengan yang dideklarasikan, dimana nomor indeks selalu dimulai dari 0.
● int c[5] = {-12, 0, 20, 85, 1551};
Nilai suatu variabel array dapat juga diinisialisasi secara langsung seperti yang terdapat di dalam tanda kurung kurawal pada saat deklarasi di atas.
●       int x[5] = {0};
Deklarasi variable array sekaligus mengisi setiap lokasi memorinya dengan nilai 0.         
Contoh Algoritma :
Algoritma Array1D
DEKLARASI
N : array[1..5] of integer
i : integer
DESKRIPSI
N1ß 25
N2ß 12
N3ß 17
N4ß 10
N5ß 15
For i ß 1 to 5 do
      Output (Ni)
endfor
Contoh Program dalam bahasa C++ :
#include<iostream.h>
main()
{
   int N[5]={25,12,17,10,15};
   int i;
   for(i=0; i<=4; i++)
       cout << N[i];
}  
atau :
#include<iostream.h>
main()
{
   int N[5]={25,12,17,10,15};
   int i;
   for(i=0; i<=4; i++)
       printf("%d  \n",N[i]);
}  
Output :    
25
12
17
10
15  
B.       Array Dimensi Dua
Algoritma :
Array dua dimensi hampir sama dengan array berdimensi satu, namun biasanya array berdimensi dua banyak digunakan untuk penyajian data berbentuk tabel atau juga berbentuk matriks.
Bentuknya :
DEKLARASI

   NamaArray : TipeElemen Array[r_indeks1, r_indeks2]

Cara mengakses suatu elemen :

  NamaArrayindeks1,indeks2

Contoh
1
2
3
4
1
10
1
11
15
2
20
2
21
25
3
30
3
31
35
4
40
4
41
45
Harga1,1 ß 10
Harga2,3 ß 21
Harga3,1 ß 30
Bahasa C++ :
Bentuknya :
tipe nama_var[ukuran1][ukuran2];
                                   
         ukuran1 = jumlah baris
         ukuran 2 = jumlah kolom
Contoh :
int data_huruf[2][4];
Contoh :
Sebuah matrik A berukuran 2x3 dapat dideklarasikan sebagai berikut :
int a[2][3] = {{11, 7, 4},{12, 3, 9}} yang akan menempati lokasi memori dengan susunan berikut :
0
1
2
0
11
7
4
1
12
3
9
Dan definisi variabel untuk setiap elemen tersebut adalah :
0
1
2
0
a[0][0]
a[0][1]
a[0][2]
1
a[1][0]
a[1][1]
a[1][2]
Contoh Program dalam bahasa C++:
/* Program : array.cpp */
#include<iostream.h>
void printArray(int [][3]);
main()
{     int matrik1 [2][3] = { {1, 1, 1}, {2, 2, 2}};
      int matrik2 [2][3] = { {3, 3, 3}, {4, 4, 4}};
      int matrik3 [2][3] = { {5, 5, 5}, {6, 6, 6}};
      printArray(matrik1);
      printArray(matrik2);
      printArray(matrik3);
      return 0;
}
void printArray(int a[][3])
{   int i, j;
      for(i=0; i<=1; i++)
          {  for(j=0; j<=2; j++)
                cout << a[i][j]<< " ";
              cout << endl;
          }
}
atau :
/* Program : array.cpp */
#include<iostream.h>
void printArray(int [][3]);
main()
{     int matrik1 [2][3] = { {1, 1, 1}, {2, 2, 2}};
      int matrik2 [2][3] = { {3, 3, 3}, {4, 4, 4}};
      int matrik3 [2][3] = { {5, 5, 5}, {6, 6, 6}};
      printArray(matrik1);
      printArray(matrik2);
      printArray(matrik3);
      return 0;
}
void printArray(int a[][3])
{   int i, j;
      for(i=0; i<=1; i++)
          {  for(j=0; j<=2; j++)
                printf("%d  ",a[i][j]);
              printf("\n");
          }
}
C.       Array Dimensi Banyak        
Algoritma :
Bentuknya :
DEKLARASI

  NamaArray : TipeElemen Array[r_indeks1, r_indeks2,… , r_indeksn]

Cara mengakses suatu elemen :

  NamaArrayindeks1, indeks2, indeks3

Bahasa C++ :
Bentuknya :
tipe nama_var[ukuran1][ukuran2]. . .[ukuranN];
        
         Contoh :
int data_huruf[2][4][6];

Sumber : http://aulya-imutz.blogspot.com/2012/01/array-larik.html  
  Sekian dulu artikel mengenai "Perngertian Array". Semoga Bermanfaat :)

VOID REKURSIF

VOID REKURSIF

Void Rekursif adalah void atau fungsi yang memanggil dirinya sendiri. Di bawah ini saya akan berikan contoh program menggunakan c++ dengan void rekursif dan tanpa void rekursif agar semuanya paham bagaimana cara membedakannya :


Contoh VOID REKURSIF
(menampilkan angkan 1 - 10)

#include <iostream>
#include <conio>

void pake_rekursi (int n)
{
  n++;
  cout<<n<<endl;
  if(n<10)
 {
  pake_rekursi(n);
 }
}

main()
{
  pake_rekursi(0);
  getch();
}




Contoh VOID TANPA REKURSIF
(menampilkan angkan 1 - 10)

#include <iostream>
#include <conio>

void tanpa_rekursi(int n)
{
 int i;
 for (i=1;i<=n;i++)
 {
  cout<<i<<endl;
 }
}

main()
{
  tanpa_rekursi(10);
  getch();
}



Sumber : http://dexamaker.blogspot.com/2013/01/void-rekursif.html

Sekian dulu artikel mengenai "Void Rekursif". Semoga bermanfaat :)

ALGORITMA PEMROGRAMAN








Pada umumnya, program komputer memanipulasi objek (data) didalam memori. Peubah (variabel) dan konstanta (constant) adalah objek data dasar yang dimanipulasi didalam program. Deklarasi daftar peubah digunakan untuk menyatakan tipe peubah . Operator mengspesifikasikan operasi apa yang dapat dilakukan terhadap peubah dan konstanta. Ekspresi mengkombinasikan peubah-peubah dan konstanta untuk menghasilkan nilai baru.

Tipe data dapat dikelompokkan menjadi dua macam :

           1. Tipe Dasar
    Tipe dasar adalah tipe yang dapat langsung dipakai. Yang termasuk tipe dasar adalah bilangan lojik, bilangan bulat, karakter, bilangan riil, dan string. Untuk bilangan lojik dan bilangan bulat disebut juga tipe ordinal karena setiap konstanta nilainya dapat ditransformasikan ke suatu nilai integer.

Bilangan Lojik
• Nama tipe bilangan ini adalah Boolean.
• Ranah nilai boolean adalah true dan false.
• Operator yang digunakan not, and, or, dan xor
.
Contoh : 
        
A
B
A not B
A and B
A or B
A xor B
True
True
False
True
True
False
True
False
True
False
True
True
False
True
True
False
True
True
False
False
True
True
False
False

Bilangan Bulat

• Nama tipe Integer.
• Ranah Nilai. Secara teoritis bilangan bulat tidak mempunyai batasan untuk nilai. Tetapi pada dunia pemograman, ranah nilai bilangan bulat mempunyai batasan. Hal tersebut dimaksudkan untuk penghematan alokasi memori. Berikut rentang nilai pada Pascal dan C.

Pascal
Rentang
Nilai
C
Byte
0 … 255
Unsigned
Char
Shortint
-128 … 127
Signed
Char
Word
0 … 65535
Unsigned
int
Integer
-32768 … 32767
Int
shortint
Longint
-2147483648 … 2147483647
Longint


Setiap bilangan bulat mempunyai keturunan, atau dengan kata lain sebuah bilangan bulat mempunyai nilai sembarangan (predecessor) dan nilai sesudahnya (succesor). Misalnya : Nilai 8 memiliki predecessor 7 dan successor 9.

• Konstanta untuk bilangan bulat tidak boleh mengandung titik decimal.
 
• Operasi :

1. Operasi Aritmatika, yaitu :

+ (tambah)
- (kurang)
* (kali)
div (bagi) (dengan hasil bilangan bulat tanpa titik desimal)
mod (sisa hasil bagi)
ket : Objek yang di operasikan disebut operand. Misalnya : a + b artinya a dan b merupakan operand sedangkan + adalah operator
.
 
2
. Operasi perbandingan. Hasil operasi perbandingan akan menghasilkan nilai boolean (true dan false)

< (lebih kecil)
≤ (lebih kecil atau sama dengan)
> (lebih besar)
≥ (lebih besar atau sama dengan)
= (Sama dengan)
≠ (Tidak sama dengan)


Bilangan Riil

Bilangan riil adalah bilangan yang mengandung pecahan desimal, misalnya 3.65, 0.0003, 29.0, 2.60240000E-6, .24 , dll. Semua konstanta bilangan riil harus mengandung titik (desimal). Misalnya “18” dianggap sebagai bilangan bulat, tetapi “18.0” dianggap sebagai bilangan riil. Untuk bilangan riil yang ditulis dengan notasi E berarti perpangkatan sepuluh. Contoh : 2.60240000E-6 artinya 2.60240000×10-6.

• Nama tipe bilangan riil adalah real.
• Ranah nilai bilangan riil sama dengan bilangan bulat, tetapi penerapan pada bahasa pemograman berbeda. Untuk bahasa PASCAL, penerapannya :

Tipe
Rentang
Nilai
Format
real
2.9×10-39 … 1.7 x 1038
6 Byte

Single
1.5 x 10-45 …. 3.4 x 1038
4 Byte

Double
5.0 x 10-324 … 1.7 x 10308
8 Byte

Extended
3.4 x 10-4932 … 1.1 x 104932
10 Byte


Sementara, dalam bahasa C, hanya ada 2 tipe untuk bilanganriil yaitu float dan double. Float adalah bilangan riil berpresisi tunggal (single-precision), Double adalah bilangan riil berpresisi ganda (double-precision). Sementara untuk long double mengspesifikasikan tipe bilangan riil yang berpresisi-extended.

Operasi pada bilangan riil ada 2 macam, yaitu :

1. Operasi Aritmetika
+ (tambah)
- (kurang)
* (kali)
/ (bagi)

Ket : Jika dilakukan operasi campuran dengan salah satunya operandnya bertipe bilangan riil sedangkan operandnya yang lain bilangan bulat, maka otomatis operand yang bilangan bulat akan otomatis di konversi ke bilangan riil.

2. Operasi Perbandingan
< (lebih kecil)
≤ (lebih kecil atau sama dengan)
> (lebih besar)
≥ (lebih besar atau sama dengan)
≠ (Tidak sama dengan)

Ket
. : Pada bilangan riil tidak dikenal operasi sama dengan “=”. Karena bilangan riil tidak dapat disajikan secara tepat oleh komputer. Misalnya 1/3 tidak sama dengan 0.33333, sebab 1/3 = 0.3333333…. (dengan angka 3 yang tidak pernah berhenti)


Karakter

Yang termasuk karakter adalah semua huruf-huruf abjad, semua tanda baca, angka ‘0’, ‘1’, … , ‘9’. Dan karakter-karakter khusus seperti ‘&’, ‘^’, ‘%’, ‘#’, ‘@’, dll. Karakter kosong (null) adalah karakter yang panjangnya nol dan dilambangkan ‘ ‘.

• Nama tipe untuk karakter adalah char
Ranah nilai untuk karakter adalah semua huruf di dalam alfabet (‘a’, … ‘z’, ‘A’ … ‘Z’) angka desimal (0 … 9), tanda baca (‘.’, ‘:’, ‘!’, ‘?’, ‘,’, dll), operator aritmetik (‘+’, ‘-‘, ‘*’, ‘/’), dan karakter-karakter khusus seperti (‘$’, ‘#’, ‘@’, ‘^’, ‘~’, dll). Daftar karakter baku yang lengkap dapat dilihat di dalam buku-buku yang memuat tabel ASCII.

Konstanta karakter harus diapit oleh tanda petik tunggal. Ket: ingatlah bahwa ‘9’ adalah karakter, tetapi 9 adalah integer.

• Untuk operasi yang dilakukan hanya operasi perbandingan yaitu :
= (sama dengan)
≠ (tidak sama dengan)
> (lebih besar)
≥ (lebih besar atau sama dengan)
< (lebih kecil)
≤ (lebih kecil atau sama dengan)

Ket.
:  Tipe karakter juga mempunyai keterurutan (successor dan predecessor) yang ditentukan oleh cara pengkodeannya didalam komputer, misalnya pengkodean ASCII. Operasi perbandingan menghasilkan nilai boolean.


String

String adalah untaian karakter dengan panjang tertentu.
• Nama tipe string adalah string
• Ranah nilai tipe string adalah deretan karakter yang telah didefenisikan pada ranah karakter.
• Konstanta pada tipe string harus diapit oleh dua buah tanda petik tunggal.

Contoh :
‘Makassar’
‘boby’
‘Abc1234’
‘*…*…#008*’
‘B’
Untuk string kosong (null) dilambangkan dengan ‘ ’.
Operasi pada tipe string didefinisikan 2 macam :

a. Operasi Penyambungan (concatenation)
Operasi “+”. Operator ini bukanlah operator penjumlahan seperti pada tipe real/integer tetapi operator penyambungan. Contoh :
‘Boby’ + ‘Hermez’ = ‘Boby Hermez’

b. Operator perbandingan
Sama halnya tipe karakter akan menghasilkan nilai boolean.
=, ≠, <, ≤, >, ≥

 2. Tipe Bentukan 
 
Tipe bentukan adalah tipe yang didefenisikan sendiri oleh pemogram (user defined type data). Tipe bentukan di susun oleh satu atau lebih tipe dasar. Ada 2 macam tipe bentukan :
1. Tipe dasar yang diberi dengan nama tipe baru
2. Tipe terstruktur
Tipe dasar yang diberi nama tipe baru (user defined type data). Penamaan tipe baru disebabkan oleh kemungkinan untuk memudahkan interpretasi dan pembacaan program oleh pemogram. Kita dapat memberi nama baru untuk tipe dasar tersebut dengan kata kunci type. Untuk Nilai, Ranah nilai, konstanta, dan operasi-operasi tipe tersebut tidak berubah dan sesuai dengan tipe dasar aslinya, misalnya : type bilangan bulat / integer.
Ket.:  Bilangan sama saya dengan tipe integer. Jadi, misalkan variabel i bertipe bilangan bulat, sama saja jika i bertipe integer.



Contoh :
DEKLARASI
i = integer
Sama Saja
DEKLARASI
Type bilangan_bulat : integer
i = bilangan_bulat
 


Tipe Terstruktur.
Tipe terstruktur adalah tipe yang berbentuk rekaman (record). Rekaman (record) disusun oleh satu atau lebih field. Tiap field menyimpan data dari tipe dasar tertentu atau dari tipe bentukan lain yang sudah didefinisikan sebelumnya. Nama rekaman ditentukan sendiri oleh pemogram.
Contoh :

A. Mendefenisikan titik (type)
Titik dalam koordinat kartesian dinyatakan sebagai (x,y).
Penulisannya :
type titik : record < x:real, y:real>; atau
type titik : record < x,y : real>
Jika pendeklarasian P adalah variabel yang bertipe titik makan pendeklarasian tiap field pada P adalah :
P.x
P.y 

B. Mendefinisikan tipe tanggal
dd.mm.yy
Penulisannya:
tipe tanggal : record
< dd : integer, mm : integer, yy : integer >
Jika D adalah variabel bertipe tanggal, maka cara pendeklarasiannya adalah :
D.dd
D.mm
D.yy 

C. Mendefinisikan tipe jadwal kereta api
Penulisan tipe Jadwal kereta Api:
type Jadwal_KA : record < NoKA : string, KotaAsal : string, JamBerangkat : Jam, KotaTujuan : string, JamTiba : Jam >
Jika JKA adalah peubah bertipe Jadwal_KA, maka cara mendeklarasikan tiap-tiap field adalah :
JKA.NoKA
JKA.KotaAsal
JKA.JamBerangkat
JKA.JamBerangkat.hh
JKA.JamBerangkat.mm
JKA.JamBerangkat.ss
JKA.KotaTujuan
JKA.JamTiba.hh
JKA.JamTiba.mm
JKA.JamTiba.ss 




Nama

Nama dalam algoritma dipakai sebagai pengidentifikasi “sesuatu” dan pemrogram mengacu “sesuatu” itu melalui namanya. Untuk menjaga ketaatasasan, maka algoritma didalam buku ini memiliki aturan penulisan nama sebagai berikut :
1. Nama harus dimulai dengan huruf alfabet, tidak boleh dengan angka, spasi atau karakter khusus lainnya
2. Huruf besar atau huruf kecil tidak dibedakan (kecuali bahasa C)
3. Karakter penyusunan nama hanya boleh huruf alfabet, angka, dan “_”. Underscore (“_”) dihitung sebagai sebuah huruf
4. Nama tidak boleh mengandung operator aritmetika, operator relasional, tanda baca, dan karakter khusus lainnya.
5. Karakter dalam nama tidak boleh dipisahkan dengan spasi.
6. Panjang nama tidak dibatasi
Nama sebaiknya interpretatif, yaitu mencerminkan nilai intrisik atau fungsi yang dikandungnya.
Contoh penamaan : titik6 atau titik_6, Nilai_Ujian atau NilaiUjian, PT1 atau PT_1, Hari, A1. Didalam algoritma, objek yang diberi nama dapat berupa :
1. Peubah (variabel) adalah tempat penyimpanan data/informasi di memory yang isinya dapat diubah.
2. Konstanta (Constant) : adalah tempat penyimpanan didalam memory yang isinya tetap selama pelaksanaan program dan tidak dapat diubah nilainya
3. Tipe bentukan, seperti yang telah dijelaskan, berupa tipe yang dibentuk oleh pemogram.
4. Nama Fungsi
5. Nama Prosedur
Contoh Pengidentifikasian lewat nama :
ALGORITMA
{Nama konstanta}
const phi = 3.14
const Nmaks = 100
const sandi = ‘xyz’
{Nama tipe}
type MHS : record
< NIM :integer,
Nama: string, Usia : string,>
type Titik : record
type Kompleks : record
type Jam : record < hh : integer,
mm : integer, ss : integer>
type JadwalKA : record < NoKA : string,
KotaAsal : string, JamBerangkat : Jam, KotaTujuan : string, JamTiba : Jam>
{Nama peubah}
LuasL : real {Luas Lingkaran}
PSW : string {Password}
Indeks : char {Indeks nilai kuliah}
Ketemu : boolean {hasil pencarian, true jika ditemukan, false jika tidak}
P : Titik {Koordinat titik pusat lingkaran}
F : Kompleks {Frekuensi, hasil transformasi Fourier}
JKA : JadwalKA {Jadwal Kereta Api}
{Nama fungsi dan prosedur}
PROCEDURE HitungTitikTengah (Input P1: Titik, Input P2:Titik, Output Pt:Titik)
{ Menghitung titik tengah garis dengan titik ujung P1 dan P2 }
Function Faktorial (Input n : integer) –> integer
{Mengembalikan nilai faktorial dari n > 0}
Function Cari (Input x:integer) –> boolean
{true bila x ditemukan, false bila sebaliknya}
PROCEDURE CetakJadwalKA (Input kota : string)
{Mencetak jadwal semua kereta api yang berangkat dari kota tertentu}

Translasi ke Notasi Bahasa Pemograman PASCAL :

(*DEKLARASI*)
{Nama Konstanta}
Const phi = 3.14;
Nmaks = 100;
Sandi = ‘xyz’;
{Nama Tipe}
type
MHS = record
NIM : integer;
nama : string;
usia : integer;
end;
Titik = record
x : real;
y : real;
end;
Kompleks = record
a : real;
b : real;
end;
Jam = record
hh : integer;
mm : integer;
ss : integer;
end;
JadwalKA = record
NoKA : string[5];
KotaAsal : string[15];
JamBerangkat : Jam;
KotaTujuan : string;
JamTiba : Jam;
end;
{Nama peubah / Variabel}
var
LuasL : real; {Luas Lingkaran}
PSW :string; {Password}
indeks : char; {Indeks nilai ujian}
ketemu : boolean; {Hasil pencarian, true jika ditemukan, false jika tidak}
P : Titik; {Koordinat titik pusat lingkaran}
F : Kompleks; {Frekuensi, hasil transformasi Fourier}
JKA : JadwalKA; {Jadwal kereta Api Ekspress}
{Nama Fungsi dan Procedure}
Procedure HitungTitikTengah (P1 : Titik, P2 : Titik, Var Pt : Titik);
{Menghitung titik tengah garis dengan titik ujung P1 dan P2}
Function Faktorial (n : integer) : integer;
{ Mengembalikan nilai faktorial dari n > 0}
Function Cari (x : integer) : boolean;
{ true bila X ditemukan, false jika tidak}
Procedure CetakJadwalKA (kota : string[15]);
{Mencetak jadwal semua kereta api yang berangkat dari kota tertentu}
Bahasa C :
/* DEKLARASI */
/* Nama Konstanta */
const float phi = 3.14;
const int N = 100;
const char sandi[] = “xyz”;
/* Nama Tipe */
typedef struct { int NIM;
char nama[25]; int usia;} MHS;
typedef struct {float X; float y;} Titik;
typedef struct {float a; float b;} Kompleks;
typedef struct {int hh; int mm; int ss;} Jam;
typedef struct { char NoKA[5];
char KotaAsal[15]; Jam JamBerangkat; Char KotaTujuan[15];
Jam JamTiba; } JadwalKA;
typedef enum {false = 0, true = 1} boolean;
 /*Tipe bentukan untuk boolean dikhususkan untuk C*/
/* Nama Peubah */
float LuasL;
char psw[255];
char indeks;
boolean ketemu;
Titik P;
Kompleks F;
JadwalKA JKA;
/* Nama Fungsi dan Prosedur*/
void HitungTitikTengah (Titik P1, Titik P2, Titik *P);
int Faktorial (int n);
boolean Cari (int x);
void CetakJadwalKA(char kota[15]);

Nilai 

Nilai adalah besaran dari tipe data yang sudah didefinisikan (tipe dasar dan tipe bentukan). Nilai dapat berupa isi yang disimpan oleh nama peubah atau nama konstanta, nilai dari hasil perhitungan, atau nilai yang dikirim oleh fungsi. Nilai dapat dimanipulasi dengan cara mengisikannya ke peubah lain yang bertipe sama, dipakai untuk perhitungan atau dituliskan kepiranti keluaran.
Pengisian nilai kedalam peubah dilakukan dengan 2 cara, yaitu :
1. Pengisian nilai secara langsung
Pengisian nilai secara langsung adalah memasukkan sebuah nilai ke dalam nama peubah langsung di dalam teks algoritma dengan syarat nilai yang diisikan harus bertipe sama dengan dengan tipe peubah.
Akibat dari pengisian ini, nilai peubah akan hilang dan tergantikan dengan nilai yang baru dimasukkan.

Contoh 1 (Pengisian Nilai secara langsung) :
DEKLARASI
k : integer
jarak : real
ketemu : boolean
NamaKota : string
type Jam : record
< hh : integer
mm : integer
ss : integer>
J : Jam
{Contoh pengisian dengan nilai-nilai konstanta }
ALGORITMA
k <– 5
jarak <– 0.03
ketemu <– false
NamaKota <– ‘SOLO’
{ Mengisi J dengan Jam 6 : 12 : 29 }
J <– <6, 12, 39>
{Atau dengan cara yang lebih rinci :
J.hh <– 6
J.mm <– 12
J.ss <– 39}
 Contoh 2 (Pengisian nilai dari peubah yang lain)
DEKLARASI
B, awal, suhu1, suhu2, ulang : integer
ALGORITMA
B <– awal
suhu1 <– suhu2
ulang <– mulai
Contoh 3 (Pengisian dari nilai ekspresi). Ket. Hasil ekspresi harus bertipe sama dengan tipe peubah di ruas kiri.
DEKLARASI
P, Q, R, nisbah, Jumlah, banyak, i, j, k : integer
a, b, c, determinan : real
h : boolean
ALGORITMA
c <– a + b
nisbah <– jumlah/banyak * 5
determinan <– 6 * 6 – 4 * a * c
k <– (i + j) div 2
h <– (i > 1) and (i < 100)

Contoh 4 (Menaikkan Nilai sebesar 1)
DEKLARASI
A : integer
ALGORITMA
A = A+1
Contoh 5 {Hasil M = 132, P = 164}
DEKLARASI
M, P : integer
ALGORITMA
M <– 16
P <– M * 2
M <– P + 100
P <– P + M

2. Pengisian Nilai Lewat Pembacaan
Pengisian nilai lewat pembacaan adalah pengisian nilai dari piranti masukkan. Dalam algoritma, pernyataan pembacaan adalah dengan menggunakan notasi “read”.
Contoh 1 (Membaca nilai untuk peubah)
DEKLARASI
M, a1, a2, a3 : real
nama_kota : string
NRP : integer
type titik : record
P : titik
ALGORITMA
read(M)
read(a1, a2, a3)
read(nama_kota)
read(nama_mhs, NRP, nilai)
read(P.x, P.y)
Ekspresi
Ekspresi adalah transformasi nilai menjadi keluaran yang dilakukan melalui suatu perhitungan (komputasi). Ekspresi terdiri atas operand dan operator, contoh ekspresi: “a + b”. Untuk pebuah a dan b dinamakan operand, sedangkan “+” merupakan operator.
Dalam algoritma pemograman terdapat 3 macam ekspresi :

1. Ekspresi Aritmetik

Ekspresi Aritmetik adalah ekspresi yang baik operandnya bertipe numerik dan hasilnya juga bertipe numerik.

Contoh 1.
DEKLARASI
a, b, c : real
i, j, k : integer
ALGORITMA
a * b = c
i + j = k
Ket. :  Operator yang mempunyai tingkatan lebih tinggi lebih dahulu dikerjakan daripada operator yang tingkatannya lebih rendah. Contoh : a/c + b. Yang pertama dikerjakan adalah a/c, kemudian hasilnya ditambahkan dengan b.
Tingkatan operator aritmetika (dari tertinggi ke terendah) :
(i). /, div, mod
(ii) *
(iii) +, -

Pada ekspresi aritmetik terdapat 2 buah operator yaitu :
- Operator biner, yaitu ekspresi yang operatornya membutuhkan 2 buah operand. Contoh a + b
- Operator Uner, yaitu “-” atau operator yang punya 1 operand contoh “-2”
Contoh 2. (Penulisan ekspresi dengan notasi algoritma)
T = 5/9 * (c + 32)
Z = (2*x + y) / (5 * w)
Y = 5((a+b) / (c*d) + m (p + q))

2. Ekspresi Relasional
Ekspresi relasional adalah ekspresi dengan operator <, ≤, >, ≥, =, dan ≠, not, and, or dan xor dengan menghasilkan nilai bertipe boolean (true atau false). Biasanya ekspresi Relasional disebut ekspresi boolean.
Contoh: 
DEKLARASI
const ketemu = false
const ada = true
const X = 8
const Y = 12
ALGORITMA
not ada = false
ada or ketemu = true
ada and true = true
X < 5 = false
ada or (X = Y) = true

3. Ekspresi String
Ekspresi String adalah ekspresi dengan operator “+” (operator penyambungan / concatenation).
Contoh
DEKLARASI
Kar : char
S : string
{ Contoh-contoh ekspresi untuk tipe string}
(S + Kar) + ‘ C ’
‘Jl.Ganesha’ + ‘No.10’
Menuliskan Nilai ke Piranti Keluaran
Nilai yang disimpan dimemori dapat ditampilkan ke piranti keluaran (output) dengan instruksi penulisan menggunakan notasi “write”.
write (var1, var2, var3, …, varN)
write (konstanta)
write (ekspresi)
write (nama, konstanta, ekspresi)

Contoh:
DEKLARASI
A,B : integer
NRP : integer
nama_mhs : string
nilai : real
type Jam : record < hh : integer, mm : intege, ss : integer >
J : Jam
ALGORITMA
A <– 8
B <– 6
nama_mhs <– “Andi Baco”
NRP <– 10290056
nilai <– 90.8
J.hh <– 6
J.mm <– 12
J.ss <– 45write (100)
write (A)
write (‘A’)
write (‘Jurusan Teknik Informatika ITB’)
write (‘Nilai A = ’, A)
write (nama_mhs, NRP, nilai)
write (A+B)
write (‘Nilai seluruhnya adalah’, A + B / 2 * 10)
write (J.hh, ‘:’, J.mm, ‘:’, J.ss)

Hasil dari Algoritma diatas :
100
8
A
Jurusan Teknik Informatika ITB
Nilai A = 8
Andi Baco, 10290056, 90.8
14
Nilai seluruhnya adalah 70
6 : 12 : 45
Berikut adalah contoh-contoh Algoritma dengan menggunakan teknik pseude-code kemudian ditranslasi ke bahasa pemograman Pascal dan C.

ALGORITMIK:
DEKLARASI
type Titik : record
P : Titik
a,b : integer
nama_arsip, h : string
nilai : real
c : char
ALGORITMA
nilai <– 1200.0
read (P.x, P.y)
read (nama_arsip)
h <– nama_arsip
read (a, b)
read (c)
write (‘Nama Arsip : ’, nama_arsip)
write (‘Koordinat titik adalah :’, P.x, ‘,’, P.y)
write (b, nilai)
write (‘Karakter yang dibaca adalah ’, C )

PASCAL
(*DEKLARASI*)
type Titik = record
x : real;
y : real;
var
P : Titik;
a, b : integer;
nama_arsip, h : string[12];
nilai : real;
c : char;
(*ALGORITMA*)
begin
nilai := 1200.0;
readln(P.x, P.y);
readln(nama_arsip);
h := nama_arsip;
readln(a, b);
readln(c);
writeln(‘Nama Arsip : ‘, nama_arsip);
writeln(‘Koordinat titik adalah :’, P.x, ‘,’, P.y);
writeln(b, nilai);
writeln(‘Karakter yang dibaca adalah ’, C);
end.

C:
/*DEKLARASI*/
typedef struct { float x;
float y; } Titik;
Titik P;
int a, b;
char nama_arsip[12], h[12];
float nilai;
char c;
/*ALGORITMA*/
main()
{
nilai = 1200.0;
scanf(“%d %d”, &P.x, &P.y);
scanf(“%s”, nama_arsip);
strcpy(h, nama_arsip);
scanf(“%d %d”, &a, &b);
scanf(“%c”, &c);
scanf(“Nama Arsip : %s \n”, nama_arsip);
printf(“Koordinat titik adalah %d, %c, %d \n”, P.x, P.y);
printf(“%d %f \n”, b, nilai);
printf(“Karakter yang dibaca adalah %c \n, C”);
}