3.2 Pendahuluan
Tabel 3.1 Tabel kebenaran operator 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 true false true true
false false false false false
Operasi aritmatika bilangan bulat dengan operator bilangan bulat menghasilkan nilai yang
bertipe bilangan bulat juga. Obyek yang diperasikan disebut operand. Misalnya operasi a + b,
maka a dan b adalah operand, sedangkan “+” adalah operatornya.
3.3.1.4 Karakter
Tipe karakter dapat didefinisikan sebagai berikut:
Nama : char
Ranah : ( ‘0’..’9’, ‘a’..’z’, ‘A’..’Z’, ‘#’, ‘@’, ‘!’, ‘*’, dan karakter khusus lainnya.)
Tetapan : ‘h’ ‘Y’ ‘.’ ‘ ’ ‘9’ ‘$’ ‘0’ (penulisan karakter harus diapit oleh tanda
petik tunggal)
Operator : relasional
( < > = )
Operasi dengan operator karakter menghasilkan nilai boolean. Misalnya, bila a dan b adalah
peubah bertipe karakter, maka operasi a < b akan menghasilkan nilai benar atau salah
tergantung pada kerurutan harga a dan b pada sistem pengkodean.
3.3.2.1 String
String adalah deretan karakter dengan panjang tertentu. Tipe string didefinisikan sebagai
berikut:
Nama : string
Ranah : deretan karakter yang didefinisikan pada ranah karakter
Tetapan : “YOGYAKARTA” “RULLY” “TEKNIK INFORMATIKA” “……….”
(semua tetapan string harus diapit oleh tanda petik ganda)
3.3.2.2 Rekaman
Sebuah rekaman tersusun atas satu atau lebih field/Medan data. Tiap field terdiri atas tipe
data tertentu atau tipe bentukan lain yang sudah didefinisikan sebelumnya. Nama rekaman
ditentukan oleh pemrogram sebuah rekaman dengan tiga field dapat ditunjukkan seperti
gambar berikut:
Contoh 1. Didefinisikan tipe bentukan yang menyatakan data mahasiswa. Data mahasiswa
terdiri atas NIM, nama, dan usia. Misalnya tipe bentukan ini dinamakan MHS.
Type MHS : record < NIM : integer, nama : string, usia : integer >
Jika dideklarasikan M adalah peubah bertipe MHS, maka cara mengacu tipe field pada
rekaman M adalah :
M.NIM
M.nama
M.usia
Nama : MHS
Ranah : sesuai dengan ranah masing-masing field
Tetapan : <990022, ‘Adi Negara’, 20>
<990023, ‘Rohana’, 19 >
Operator : tidak operator untuk MHS, tetapi kita dapat melakukan :
Operasi integer terhadap MHS.NIM
Operasi string pada MHS.nama
Operasi integer pada MHS.usia
jika DATE adalah tipe peubah bertipe TGL, maka cara mengacu tiap field :
DATE.tang [1..31]
DATE.bul [1..12]
DATE.thn > 0
{ nama tipe }
type titik : record < x:real, y:real> {titik di dalam koordinat
kartesian}
{ nama peubah }
luasL : real { luas lingkaran }
p : titik { koordinat titik pusat lingkaran }
{ nama prosedur }
procedure HitTitikTengah(input P1 : titik, input P2 : titik, output Pt :
titik)
type
{ nama type }
titik = record { titik di dalam koordinat kartesian }
x : real; y : real;
end;
Var
{ nama peubah }
LuasL : real; {luas lingkaran }
P : titik; {koordinat titik pusat lingkaran}
{ nama prosedur }
Procedure HitTitikTengah( P1 : titik, P2 : titik;
Var Pt : titik);
{ menghitung titik tengah garis dengan titik ujung P1 dan P2,
K.Awal : P1 dan P2 sudah terdefinisi nilainya
K.Akhir : Pt adalah titik tengah P1 dan P2 }
(* KAMUS LOKAL *)
( * ALGORITMA *)
Begin
{ badan prosedur HitTitikTengah }
end;
3.3.4. Harga
Harga adalah nilai besaran dari tipe yang sudah dikenal. Harga dapat berupa nilai yang
dikandung oleh nama ubah oleh nama peubah atau tetapan.
Penugasan adalah mengisikan sebuah harga pada peubah secara langsung. Aksi penugasan
dilambangkan dengan tanda “”. Harga yang diberikan kepada nama peubah dapat berupa
tetapan, harga nama peubah lain, atau nilai sebuah ekspresi. Harga tersebut harus bertipe
sama dengan tipe nama. Notasi algoritma untuk penugasan:
ALGORITMA
Nama tetapan { harga tetapan diisikan ke dalam nama }
Nama1 nama2 { harga nama2 disalin ke nama1; harga nama1 sama dengan
harga nama2 }
Nama ekpresi { hasil perhitungan diisikan ke dalam nama }
Contoh :
ALGORITMA
K5
Jarak 0.03
Ketemu false
Namakota ‘YOGYA’
Akibat penugasan tersebut maka kondisi memori dapat direpresentasikan seperti gambar
berikut :
.
.
.
K 5
Jarak 0.03
Ketemu False
NamaKota ‘YOGYA’
.
.
Harga untuk nama peubah dapat diisi dari peranti masukan, misalnya “keyboard”. Dalam
algoritma, pembacaan harga untuk nama peubah dilakukan dengan perintah input. Notasi
algoritma untuk pembacaan harga dari peranti masukan :
ALGORITMA
Input (nama1, nama2, …namaN)
Dengan syarat nama1, nama2,…namaN adalah nama peubah, tidak boleh nama tetapan.
Contoh :
ALGORITMA
Input (M)
Input (a1, a2, a3)
Input (nama, kota)
Input (nama_mhs, NRP, nilai)
Input(P.x, P.y)
3.3.4.4 Ekspresi
Suatu harga dipakai untuk proses tanspormasi menjadi keluaran yang diinginkan.
Transpromasi harga menjadi keluaran dilakukan melalui suatu perhitungan (komputasi). Cara
perhitungan itu dinyatakan dengan suatu ekspresi. Suatu ekspresi terdiri dari operand dan
operator. Operand adalah harga yang dioperasikan dengan operator tertentu. Operand dapat
berupa nama peubah, nama tetapan atau tetapan. Hasil perhitungan adalah harga dengan
ranah yang sesuai dengan tipe operator yang dipakai. Ekspresi ada dua macam yaitu ekspresi
numerik dan ekspresi boolean.
Ekspresi numerik adalah ekspresi yang baik operand-nya bertipe numerik dan hasilnya juga
bertipe numerik. Operator yg menggunakan aritmatika. Misalnya didefinisikan kamus
sebagai berikut:
KAMUS
a, b, c : real
d : integer
i, j, k : integer
contoh ekspresi numerik :
yang perlu diperhatikan dalam penulisan ekspresi numerik adalah tingkatan (hirarkhi)
operator. Operator mempunyai tingkatan lebih tinggi lebih dahulu dikerjakan daripada yang
tingkatannya lebih rendah. Misalnya :
a/b+c
akan dikerjakan dengan urutan
1) a/b
2) hasil langkah tersebut kemudian ditambah c
yang benar harus anda tuliskan ekspresinya menjadi :
a/(b+c)
tingkatan operator aritmatika adalah (dari tertinggi ke rendah):
1) / , *
2) +, -, div, mod
Jadi operator “/” dan “*” mempunyai urutan prioritas yang sama, misalnya ekspresi:
a*b/c
sama saja dengan
(a * b) / c atau a * ( b/c )
Ekspresi relasional adalah ekspresi dengan operator <, >, =, , , dan . Hasil ekspresinya
selalu bertipe boolean (true atau false). Misalnya ada kamus berikut :
KAMUS
Ketemu, besar : boolean
x, y : integer
dan ketemu telah berharga false, ada berharga true, x berharga 8 dan y berharga 12, maka
contoh ekspresi boolean adalah :
Harga yang disimpan di dalam memori dapat ditampilkan ke peranti keluaran (misalnya layar
monitor). Perintah untuk penulisan harga adalah dengan output:
KAMUS
Ouput (nama1, nama2, ….namaN)
Ouput (tetapan)
Output ( nama, tetapan, ekspresi)
Output (ekspresi)
Contoh:
ALGORITMA
Output (100)
Output (A)
Output (‘A’)
Output (‘Jurusan Teknik Informatika’)
Output (‘Nilai A = ‘,A)
Output (nama_mhs, nrp, nilai)
Output (A+B)
Output (‘Nilai seluruhnya adalah ‘, (A+B)/2*20)
KAMUS
Type titik : record <x :integer, y:integer>
P : titik
a, b : integer
NamaArsip : string
Harga : real
C : char
ALGORITMA
harga 1200.00
input (P.x, P.y)
input (NamaArsip)
input (a, b)
input (c)
output (‘Nama arsip : ‘,NamaArsip)
output (‘Koordinat titik adalah : ‘,P.x, ‘,’, P.y)
output(b, harga)
output (‘Karakter yang dibaca adalah ‘, C)
3.4.2 Soal-Soal
1. Buatlah algoritma dan program untuk menjumlah dan mengalikan dua buah bilangan
bertipe integer
bertipe real
3.5 Kesimpulan
Bila dalam kode-kode program tersebut terdapat suatu ekspresi maka ekspresi tersebut
haruslah dituliskan dengan benar mengenai prioritas pengerjaan bila ditemui operator yang
mempunyai kedudukan atau prioritas lebih rendah tetapi harus dikerjakan terlebih dahulu
maka harus ditulis dalam blok tanda kurang buka dan kurung tutup. Hal ini agar nilai yang
dihasilkan oleh ekspresi tersebut benar.