Anda di halaman 1dari 9

BAB II

NOTASI ALGORITMIK, TIPE, NAMA DAN NILAI

Algoritma berisi deskripsi langkah-langkahpenyelesaian masalah. Langkah-langkah penyelesaian


tersebut kita tuliskan dalam notasi algoritmik.

2.1 Pseudo-code

Notasi algoritmik yang baik adalah notasi yang mudah dibaca dan mudah ditranslasikan ke dalam notasi
bahasa pemrograman. Pseudo-code adalah cara untuk menuliskan sebuah algoritma secara high-level
(level tingkat tinggi). Biasanya Pseudo-code dituliskan dengan kombinasi Bahasa Inggris dan notasi
matematika. Biasanya sebuah Pseudo-code tidak terlalu detail dibandingkan dengan program.

Notasi algoritmik berupa pseudo-code mempunyai korespondesni dengan notasi bahasa pemrograman
sehingga proses penerjemahan dari pseudo-code ke kode program menjadi lebih mudah. Tidak ada
aturan baku dalam membuat pseudo-code asal notasinya bisa dipahami.

Contoh :

1. Sebuah pernyataan dalam notasi deskriptif


Tulis nilai x dan y
Maka pseudo-codenya dalam notasi algoritma menjadi :
Write (x,y)
Jika di translasikan ke dalam bahasa pascal menjadi :
Write (x,y);
Jika ditranslasikan ke dalam bahasa C :
Printf (“%d %d”, x,y);
Jika ditransalasikan ke dalam bahasa basic :
WRITE x,y
2. Sebuah pernyataan dalam notasi deskriptif
Masukan nilai X ke dalam min
Maka pseudo-codenya dalam notasi algoritmmik menjadi :
Min  X (notasi  artinya assign atau = )
Jika di transalasikan ke dalam bahasa pascal menjadi :
Min := X;
Jika ditransalasikan ke dalam bahasa C :
Min = X;
Jika ditranslasikan ke dalam bahasa basic :
Min = X;

2.2 Struktur Teks Algoritma

Teks algoritma selalu terdiri dari tiga bagian yaitu :

1. Bagian Judul

2. Bagian Deklarasi

3. Bagian Algoritma
Secara umum ketiga bagian tersebut ditunjukan dalam notasi algoritmik di bawah ini :

ALGORITMA nama_program
{Penjelasan tentang algoritma, yang berisi uraian singkat mengenai masalah apa yangakan diselesaikan
termasuk masukan dan keluarannya}

DEKLARASI
{semua nama yang dipakai, meliputi nama tipe, nama konstanta, nama peubah, nama prosedur dan
nama fungsi ditulis disini}

DESKRIPSI
{berisi langkah-langkah penyelesaian masalah}

1. Bagian Judul

Judul adalah bagian teks algoritma tempat mendefinisikan apakah teks tersebut adalah program,
prosedur, fungsi, modul atau sebuah skema program. Setelah judul disarankan untuk menuliskan
spesifikasi singkat dari teks algoritma tersebut dengan memberikan tanda { } sebagai tanda
komentar. Bagian judul ini berisi judul teks algoritma secara keseluruhan dan instisari teks algoritma
tersebut.

Contoh :

ALGORITMA HelloWorld
{program untuk mencetak tulisan “Hello World” pada layar}

ALGORITMA Segitiga
{program untuk menghitung dan mencetak hasil luas segitiga, masukan program ini adalah alas dan
tinggi serta keluarannya adalah hasil dari luas segitiga tercetak di layar}

2. Bagian Deklarasi

Bagian ini digunakan untuk mendefinisikan :

- Nama type, Nama konstanta, Nama variabel, Nama fungsi, Nama prosedur

Semua nama yang dipakai dalam algoritma harus dikenali sebelum digunakan. Penulisan
sekumpulan nama dalam deskripsi sebaiknya dikelompokan menurut jenis nama tersebut. Bagian
deklarasi mungkin kosong jika tidak ada penggunaan nama.

Nama tidak boleh mengandung spasi, tanda baca (seperti titik, koma dsb) dan operator (seperti +,
-, :, dsb) yang dapat digunakan hanya karakter garis bawah ( _ ) untuk menggantikan spasi.

Contoh :

DEKLARASI
{nama type}
Type point : <X:real, Y:real> {koordinat pada sumbu kartesian}

{nama konstanta, harus menyebutkan type dan nilai}


Constant phi : real = 3.14
Constant benar : boolean = true

{nama peubah (variabel)}


Nmax : integer {jumlah maksimum elemen tabel}
P : char {karakter yang dibaca}
Found : boolean {hasil pencarian, true jika ketemu}

{nama fungsi dan procedure}


Function Apakah_A (input C : char) boolean
{mengembalikan nilai true bila C adalah karakter A atau false bila sebaliknya}

Procedure Tulis (input pesan : string)


{menulis isi pesan ke layar dengan masukan sembarang dan keluaran pesan tertulis di layar}

3. Bagian Deskripsi

Deskripsi adalah bagian teks algoritmik yang berisi instruksi atau pemanggilan aksi yang telah
didefinisikan, Inilah bagian inti dari sebuah program.

Contoh :

DESKRIPSI
Write (‘Hello World’)
DESKRIPSI
Read (a,t)
La*t/2
Write (‘Maka luas segitiga adalah’,L)

Contoh secara keseluruhan notasi algoritma untuk menghitung luas segitiga

ALGORITMA Segitiga
{program untuk menghitung dan mencetak hasil luas segitiga, masukan program ini adalah alas dan
tinggi serta keluarannya adalah hasil dari luas segitiga tercetak di layar}

DEKLARASI
a,t : integer {variabel yg menunjukan alas dan tinggi segitiga }
L : real {variabel yg menyimpan hasil dari luas segitiga}

DESKRIPSI
Read (a,t)
La*t/2
Write (‘Maka luas segitiga adalah’,L)

Contoh Translasi teks algoritma menghitung luas segitiga ke bahasa pascal

ALGORITMA Segitiga
{program untuk menghitung dan mencetak hasil luas segitiga, masukan program ini adalah alas dan
tinggi serta keluarannya adalah hasil dari luas segitiga tercetak di layar}

Var
a,t : integer; {variabel yg menunjukan alas dan tinggi segitiga }
L : real; {variabel yg menyimpan hasil dari luas segitiga}

Begin
Write (‘Masukan Nilai Alas :’); readln(a);
Write (‘Masukan Nilai Tinggi :’); readln(t);
L := a * t / 2;
Writeln (‘Maka luas segitiga adalah’,L);
End.
2.3 Tipe, Nama dan Nilai
1. Tipe

Tipe data dikelompokan menjadi 2 macam yaitu tipe dasar dan tipe bentukan. Tipe dasar adalah tipe
yg dapat langsung dipakai, sedangkan tipe bentukan dibentuk dari tipe dasar yg sudah didefinisikan
sebelumnya.

a. Tipe dasar

Yang termasuk dalam tipe dasar adalah : bilangan lojik, bilangan bulat, karakter, bilangan riil dan
string

NO NAMA TIPE RANAH NILAI OPERASI


1 Bilangan Lojik  Benar (true) atau salah (false) Operasi logika : not, and, or dan xor
boolean
2 Bilangan Bulat  Operasi aritmatika dan operasi
Integer -32768 s.d 32767 perbandingan
3 Bilangan riil  Operasi aritmatika dan operasi
-39 38
Real 2.9 x 10 s.d 1.7 x 10 perbandingan
4 Karakter  Semua huruf alfabet, angka Operasi perbandingan
char desimal, tanda baca, operator
aritmatika, dan karakter
khusus
- (a..z , A..Z)
- (0..9)
- (‘.’, ‘:’, ‘!’, ‘?’, dll)
- (‘+’, ‘-‘, ‘*’, ‘/’)
- (@, #, $, %, &, ^, ~)
5 String  Deretan karakter yangtelah Operasi penyambungan dan operasi
String didefinisikan pada ranah perbandingan
karakter

Contoh penggunaan operasi untuk setiap nama tipe

 Boolean

Tabel kebenaran untuk operasi logika not, and, or dan xor

a Not a
True False
False True

a b a and b a or b a xor b
True True True True False
True False False True True
False False False True True
False True False True False
Contoh penggunaan operasi : misal X,Y,Z adalah peubah bertipe boolean, X bernilai true, Y
bernilai false dan Z bernilai true maka :

Operasi Logika Hasil


(X and Y) or Z True
X and (Y or Z) True
Not (X and Y) False
(Y xor Z) and Y False

 Integer

Operator aritmatika dan perbandingan yang didefinisikan pada tipe integer adalah :

Operator Keterangan
Operator Aritmatika
+ Penjumlahan
- Pengurangan
* Perkalian
Div Pembagian
Mod Sisa hasil bagi
Sqr Mengkuadratkan
Operator Perbandingan
< Lebih kecil
> Lebih besar
≤ Lebih kecil atau sama dengan
≥ Lebih besar atau sama dengan
= Sama dengan
≠ Tidak sama dengan

Contoh operasi aritmatika beserta hasilnya

Operasi Hasil
30 + 13 43
40 – 6 34
25 * 2 50
27 div 3 9
27 mod 3 0
10 div 3 3
10 mod 3 1
Sqr (6) 36

Contoh operasi perbandingan beserta hasilnya

Operasi Hasil
30 < 13 False
40 > 6 True
9≤9 True
5≥7 False
17 = 17 True
(24 div 3) ≠ 8 false
(10 mod 3) = 1 true
 Real

Operator aritmatika dan perbandingan yang didefinisikan pada tipe real adalah :

Operator Keterangan
Operator Aritmatika
+ Penjumlahan
- Pengurangan
/ Pembagian
* Perkalian
Sqr Mengkuadratkan
Sqrt Mengakarkan
Operator Perbandingan
< Lebih kecil
> Lebih besar
≤ Lebih kecil atau sama dengan
≥ Lebih besar atau sama dengan
≠ Tidak sama dengan

Contoh operasi aritmatika beserta hasilnya

Operasi Hasil
5.5 + 4.5 10
8.0 – 2.8 5.2
10.0 / 3.0 3.333...
7.2 * 2.5 3.6
Sqr (5) 25
Sqrt (36) 6

Contoh operasi perbandingan beserta hasilnya

Operasi Hasil
3.0 > 3.5 False
8.0 ≥ 5 True
3.0≠3.5 True

 Char

Operator perbandingan yang didefinisikan pada tipe char adalah :

Operator Keterangan
< Lebih kecil
> Lebih besar
≤ Lebih kecil atau sama dengan
≥ Lebih besar atau sama dengan
≠ Tidak sama dengan

Contoh operasi perbandingan beserta hasilnya

Operasi Hasil
‘a’ = ‘a’ True
‘T’ = ‘t’ False
‘m’ < ‘z’ True
‘Q’ > ‘Z’ false
 String

Operator yang digunakan dalam operasi penyambungan pada tipe string adalah operator “ + “
operator disini berarti menyambungkan dua tau lebih karakter.

Contoh penggunaan operasi penyambungan :

Operasi Hasil
‘Manajemen’ + ‘Informatika’ ManajemenInformatika
‘Manajemen’ + ‘ Informatika’ Manajemen Informatika
‘xxx’ + ‘ ‘ + ‘yyy’ + ‘zzz’ xxx yyyzzz
‘22’ + ‘33’ +’ 11’ 2233 11

Operator perbandingan yang didefinisikan pada tipe string adalah :

Operator Keterangan
< Lebih kecil
> Lebih besar
≤ Lebih kecil atau sama dengan
≥ Lebih besar atau sama dengan
≠ Tidak sama dengan

Contoh operasi perbandingan beserta hasilnya

Operasi Hasil
‘abcde’ = ‘abc’ False
‘TUTI’ > ‘tuti’ True

b. Tipe bentukan

Tipe bentukan adalah tipe yang didefinisikan sendiri oleh pemrogram.

Contoh :

DEKLARASI
Type Titik : record <x : real, y : real>
Type jam : record
< hh : integer,
Mm : integer,
Dd : integer>
P : titik
J1, J2 : jam

2. Nama

Dalam algoritma nama dipakai sebagai pengidentifikasi sesuatu dan pemrogram mengacu sesuatu
itu melalui namanya. Karena itu, tiap nama haruslah unik dan tidak boleh ada dua buah nama yang
sama.

Semua nama yang digunakan di dalam algoritma harus dideklarasikan dalam bagian DEKLARASI
sebelum digunakan. Dalam algoritma objek yang diberi nama dapat berupa :
 Peubah (variable)
 Konstanta
 Tipe bentukan
 Nama fungsi
 Nama prosedur
3. Nilai

Algoritma pada dasarnya memanipulasi nilai yang disimpan dalam peubah. Memanipulasi misalnya :
mengisikan ke peubah lain yang bertipe sama, dipakai untuk perhitungan, atau dituliskan ke piranti
keluaran.

Pengisian nilai ke dalam peubah dapat dilakukan dengan dua cara :

 Pengisian nilai secara langsung


Memasukan sebuah nilai ke dalam nama peubah langsung di dalam teks algoritma dengan
syarat harus bertipe sama. Notasinya 
Nilai yang diberikan ke dalam peubah dapat berupa :
- Peubah  konstanta
- Peubah1  peubah2
- Peubah  ekspresi
 Pembacaan nilai dari piranti masukan
Nilai untuk nama peubah dapat diisi dari piranti masukan, misal dari papan keyboard.
Operasi ini dinamakan pembacaan data. Notasinya read
Contoh
Read (nama1, nama2)

Nilai konstanta, peubah dan hasil ekspresi dapat ditampilkan ke piranti keluaran (monitor).
Notasinya write
Contoh
Write (nama1, nama2)

Tabel transalasi notasi algoritmik, pengisian nilai, pembacaan dan penulisan ke dalam bahasa pascal
Pernyataan Algoritmik Bahasa Pascal Keterangan
Pengisian  :=
Pembacaan Read Read Membaca masukan dari papan kunci,
kursor tetap di baris yang sama
Readln Membaca masukan dari papan kunci,
kursor kemudian pindah ke baris
berikutnya
Penulisan Write Write Menulis keluaran ke layar, kursor tetap
di baris yang sama
Writeln Menulis keluaran ke layar, kursor
kemudian pindah ke baris berikutnya

2.4 Latihan

1. Tentukan tipe data yang paling sesuai untuk data di bawah ini :
a. NIM
b. Nama
c. Alamat
d. Jenis Kelamin
e. Jumlah Uang Saku
f. No. Handphone
g. Kode Buku
h. PIN ATM
i. Password
j. Username

2. Tentukan hasil operasi logika di bawah ini jika diketahui X,Y,Z adalah peubah bertipe boolean, X
bernilai true, Y bernilai false dan Z bernilai true :
a. (X or Y) and Z
b. X or (Y and Z)
c. Not (X or Y)
d. (Y xor Z) or Y

3. Tentukan hasil operasi aritmatika di bawah ini :


a. 25 div 5 mod 2
b. 30 + 5 div 7
c. 90 mod 10 + 1
d. 15 * 5 div 3
e. Sqrt(sqr(5)+sqr(4))
f. Sqr(6) + sqr(3) – (sqrt(64))

4. Tentukan hasil dari operasi penyambungan di bawah ini :


a. ‘Susi’+’Susanti’
b. ‘202’+’ ‘+’2’+’3’+’198’
c. ‘Jurusan’+’ Manajemen’+’ Informatika-PPI’
d. ‘1’+’2’+’3’ Dan jelaskan apa perbedaannya dengan hasil dari operasi 1+2+3

Anda mungkin juga menyukai