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. 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
- 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}
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)
La*t/2
Write (‘Maka luas segitiga adalah’,L)
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)
La*t/2
Write (‘Maka luas segitiga adalah’,L)
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
Boolean
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 :
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
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
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
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
Operasi Hasil
3.0 > 3.5 False
8.0 ≥ 5 True
3.0≠3.5 True
Char
Operator Keterangan
< Lebih kecil
> Lebih besar
≤ Lebih kecil atau sama dengan
≥ Lebih besar atau sama dengan
≠ Tidak sama dengan
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.
Operasi Hasil
‘Manajemen’ + ‘Informatika’ ManajemenInformatika
‘Manajemen’ + ‘ Informatika’ Manajemen Informatika
‘xxx’ + ‘ ‘ + ‘yyy’ + ‘zzz’ xxx yyyzzz
‘22’ + ‘33’ +’ 11’ 2233 11
Operator Keterangan
< Lebih kecil
> Lebih besar
≤ Lebih kecil atau sama dengan
≥ Lebih besar atau sama dengan
≠ Tidak sama dengan
Operasi Hasil
‘abcde’ = ‘abc’ False
‘TUTI’ > ‘tuti’ True
b. Tipe bentukan
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.
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