Anda di halaman 1dari 8

2.

3 OPERASI PRIMITIF
Operasi adalah suatu proses untuk mengubah keadaan (state) variabel dari
keadaan awal (initial state) ke keadaan akhir (final state). Jenis operasi dibagi
menjadi dua, yaitu : Operasi elementer / dasar / operasi atomik dan Operasi
komposit, yang berupa kumpulan beberapa operasi dasar atau operasi komposit.
Biasanya membentuk modul atau program tertentu.

Operasi primitif adalah operasi yang tidak dapat lagi dipecah menjadi
operasi yang lebih kecil. Operasi primitif dalam algoritma terdiri atas dua
operasi, yaitu operasi Assignment dan operasi yang melibatkan Input/Output
(I/O) device.

2.3.1 Operasi Assignment

Operasi assignment ialah operasi pemberian nilai (baru) kepada variabel.


Initialisasi merupakan proses memberikan nilai awal suatu item data pada saat
data dideklarasikan. Dalam sejarah kehidupannya suatu variabel dapat dianggap
tidak mempunyai nilai awal, dapat pula dianggap sudah mempunyai nilai awal.
Kemudian sepanjang kehidupannya variabel ybs akan diubah-ubah nilainya
sesuai dengan keperluan. Assignment merupakan proses mengasosiasikan suatu
nilai terhadap suatu item data.

Ada 2 macam assignment :

 assignment langsung : pemberian nilai dengan menggunakan konstanta


 assignment tidak langsung : pemberian nilai dengan menggunakan kombinasi
dari konstanta, nilai variabel lain, dan operator.
Dalam algoritma notasi yang dipergunakan adalah seperti contoh sbb
:misalkan ada sebuah variabel integer dengan nama a, maka operasi assignment :
a  21

dibaca sebagai : berikanlah varabel a nilai 21

20
Assignment ini termasuk jenis langsung. Perhatikan notasi yang
dipergunakan: variabel yang dikenai perubahan ditulis disebelah kiri, diikuti
tanda panah kekiri dan kemudian suatu nilai konstanta.

Misalkan sesudah operasi ini, ada operasi lain sbb :

aa+3

dibaca sebagai :

berikanlah nilai terhadap variabel a yang sama dengan nilai (lama) variabel a. sendiri
ditambahkan dengan 3.

Maka sesudah operasi ini nilai variabel a akan berisi 21 + 3 = 24.


Assignment ini termasuk tidak langsung.

Dalam bahasa pemrograman, operasi assignment biasa menggunakan


operator assignment (=, :=), sebagai contoh dalam berbagai bahasa :

integerItem = 5; (JAVA, C)
integerItem := 5; (PASCAL)
integerItem = 5 (Visual BASIC)

Operasi di atas dimaksudkan untuk memberikan nilai numerik 5 ke item


data itegerItem. Dapat juga disebelah kanan operator assignment diisikan
identifier, ekspresi, atau pemanggilan fungsi, sebagai contoh dalam PASCAL :

integerItem := myDataItem;
integerItem := (myDataItem+2) * someIncrement;
integerItem := myFunction(argument1,argument2);

Kesahihan operasi.

Operasi assignment dianggap sahih jika :

 type data dari nilai yang diberikan (sisi kanan operator ) mempunyai type data
yang sesuai dengan type data variabelnya.
 Operasi yang dilakukan disebelah kanan tanda , memenuhi syarat type operator.
 Memenuhi syarat range dari array/himpunan yang didefinisikan.

21
Operasi assignment sahih jika memenuhi aturan aturan matematika, jenis data, serta syarat
syarat mengenai ukuran dan state.

Sebagai contoh misalnya saja diketahui :

 x adalah array integer yang mempunyai 5 buah elemen,


 y adalah array karakter yang mempunyai 4 buah elemen,
 t adalah variabel integer yang nilai = 2,
Maka operasi operasi dibawah ini tidak sahih :

(operasi-1) x[t]  x[t+4] + 3

(operasi-2) y[t]  y[t] + 3

(operasi-3) x[t]  y[t]

Penjelasan :

 operasi-1 : x[t+4] berarti x[6] karena t=2, karena x hanya berelemen 5 berarti x[6]
tidak ada !
 operasi-2 : y adalah array karakter oleh karena itu y[t], dalam hal ini y[2] tidak
dapat ditambahkan dengan nilai bilangan bulat 3.
 operasi-3 : y[t] yang berjenis karakter tidak dapat disalinkan ke x[t] yang berjenis
integer !

Catatan :

 pada lingkungan pemrograman tersedia cara-cara yang sahih (biasanya


memakai fungsi) untuk melakukan konversi nilai dari suatu jenis data ke
jenis data lain.
 ada lingkungan pemrograman yang menerapkan aturan yang tegas
mengenai jenis operator dan penyalinan data yang diijinkan terhadap
setiap jenis data, ada pula yang agak lunak. Penerapan aturan yang keras
biasa disebut dengan sifat "strong-typed", sedangkan penerapan yang agak
longgar disebut sebagai "weak-typed". Bahasa Pascal termasuk jenis
strong-typed sedangkan bahasa C termasuk weak-typed.

22
2.3.2 Operasi Read/Write

Agar program komputer dapat berinteraksi dengan lingkungan di luar


komputer, maka selain operasi Assignment, operasi primitif yang dapat diberikan
dalam algoritma adalah operasi yang melibatkan peralatan masukan dan keluaran
(I/O device). Contoh dari Input Device adalah keyboard, mouse, scanner,
barcode reader dll, sedangkan output device dapat berupa layar monitor atau
printer. I/O device harus dibedakan dari file/storage device, I/O device tidak
memiliki fungsi untuk “mengingat” sedangkan File/storage device memiliki
fungsi untuk “mengingat”.

Operasi Read

Operasi Read /“Membaca” adalah operasi yang menerima data dari Input
device dan menampungnya dalam variabel tertentu.

Bentuk umum operasi Read adalah :

READ (Input Device) V1 [, V2, …, Vn]

Input Device dapat berupa : Keyboard, Mouse, Joystick, dll

V1 … Vn adalah variabel penampung nilai hasil proses input, minimal


satu buah. Tanda [ … ] menunjukkan bahwa V2, V2, … Vn boleh digunakan
seperlunya (optional).

Contoh : Jika A adalah variabel bertipe boolean dan ingin dilakukan


operasi entry terhadap nilai logika ke variabel A melalui keyboard, maka
operasinya :

READ (Keyboard) A

Operasi READ dianggap sahih jika type data yang dimasukkan oleh user /
sistem lain sama dengan type data yang dimiliki oleh variabelnya.

Operasi Write

Operasi Write /“Menulis” adalah operasi untuk mengirimkan data yang


ditampung dalam variabel tertentu ke Output device.

Bentuk umum operasi Write adalah :


23
WRITE (Output Device) [V1 , V2, …, Vn]

Output Device dapat berupa : Monitor, Printer, dll

V1 … Vn adalah variabel penampung nilai yang akan dikeluarkan,


Tanda [ … ] menunjukkan bahwa V1, V2, … Vn boleh digunakan seperlunya
(optional). Selain variabel, operasi write juga digunakan untuk menampilkan
suatu nilai ke alat output secara langsung.

Contoh operasi baca dan tulis :

Read (keyboard) N // Membaca nilai dan ditampung oleh


variabel N
i1

while ( i  N)
do write (layar) i // Tampilkan ke layar monitor nilai variabel i
Read (keyboard) X(i) //Entry kan nilai X(i) dari keyboard
i  i+1
endwhile

2.4 KESIMPULAN
Poin penting untuk dipahami:

 Komputer dapat membantu proses automatisasi jika diberikan alur proses dan
adanya manipulasi data yang terkait.
 Proses transformasi data menjadi informasi membutuhkan struktur proses yang
dirangkai dari berbagai operasi primitif.
 Operasi primitif dalam algoritma terdiri dari operasi assignment dan operasi
read/write yang melibatkan input/output device.
 Operasi assignment membutuhkan syarat sahih yang didukung oleh pemahaman
konsep data dan variabel.
 Data ditampung dalam memory komputer pada proses komputasi, melalui
identifikasi alamat, nilai dan representasi, identifier serta operasi yang dapat
diberikan.
 Berdasarkan operasi dan nilai/representasi data yang dapat diberikan, maka data
dikelompokkan sesuai dengan tipe datanya. Jenis data terdiri atas tipe data
elementer dan tipe data komposit/bentukan.

24
 Tipe data elementer terdiri dari nilai numerik, lambang alphanumerik, nilai
boolean / logika dan pointer (penunjuk alamat data).
 Tipe data komposit adalah tipe data yang disusun dari satu atau beberapa tipe data
elementer yang dapat merepresentasikan satu kesatuan fakta atau ide.
Representasi tipe data komposit dapat berupa array (sekumpulan data yang
memiliki tipe yang sama) atau record (sekumpulan data yang terdiri dari satu atau
lebih tipe data elementer dan/atau komposit).
 Operasi assignment sahih jika memenuhi aturan-aturan matematika, jenis data,
serta syarat syarat mengenai ukuran dan state.
 Ada lingkungan pemrograman yang menerapkan aturan yang tegas mengenai jenis
operator dan penyalinan data yang diijinkan terhadap setiap jenis data, ada pula
yang agak lunak. Penerapan aturan yang keras biasa disebut dengan sifat "strong-
typed", sedangkan penerapan yang agak longgar disebut sebagai "weak-typed".
Bahasa Pascal termasuk jenis strong-typed sedangkan bahasa C termasuk weak-
typed.

2.5 LATIHAN
Carilah syarat syarat mengenai jenis ( type ) variabel pada operasi
assignment dibawah ini, sedemikian rupa sehingga operasi "sah". Pergunakanlah
asumsi lingkungan pemrograman yang bersifat "strong-typed".

1. Operasi : a[b[c]]  d or e
(a) a array boolean, b array integer, c integer, d boolean, e boolean.
(b) a array boolean, b array integer, c numerik, d integer, e integer.
(c) a array jenis apa saja asal sama dengan jenis d dan e, b array integer, c integer.
(d) a dan b array integer, c integer, d dan e bertipe sama.
(e) bukan salah satu jawaban diatas.
2. Operasi : x  y and (z + 11)
(a) x boolean, y boolean, z integer.
(b) x, y dan z integer.
(c) operasi pasti tidak sah.
(d) x, y dan z boolean.
(e) bukan salah satu jawaban diatas
3. Operasi : s[u+2]  u

25
(a) s array yang sejenis dengan u.
(b) s dan u numerik, dimana s array.
(c) operasi pasti tidak sah.
(d) s array integer, u integer.
(e) bukan salah satu jawaban diatas.

4. Operasi : v  ( x > y )
(a) operasi pasti tidak sah.
(b) v, x dan y sejenis.
(c) v boolean, x dan y integer.
(d) v boolean, x dan y numerik sejenis.
(e) bukan salah satu jawaban diatas.
5. Operasi : t[2].w  y.t
(a) t array jenis komposit, dimana salah satu unsurnya adalah subvar w. y juga
jenis komposit, dimana salah satu unsurnya adalah subvar t. Jenis komposit
untuk t tidak perlu sama dengan jenis komposit untuk y, akan tetapi jenis
subvar w dan subvar t dari var y harus sama.
(b) t array jenis komposit, dimana salah satu unsurnya adalah subvar w. y juga
jenis komposit, dimana salah satu unsurnya adalah subvar t. Jenis komposit
untuk array t dan var y harus sama, demikian juga jenis subvar nya.
(c) t array jenis komposit, dimana salah satu unsurnya adalah subvar w. y juga
jenis komposit, dimana salah satu unsurnya adalah subvar t. Jenis komposit
untuk t harus sama, tetapi jenis subvar nya tidak perlu sama.
(d) operasi pasti tidak sah
(e) bukan salah satu jawaban diatas.

26
Jelaskan sahih atau tidaknya masing-masing operasi Assignment di
bawah ini !

Asumsi : a, b = Variabel tunggal bertipe integer;

c = Variabel tunggal bertipe logika/boolean

d = Variabel Matriks bertipe logika

e = Variabel tunggal bertipe karakter

a) a  723 + b

b) c  a or b

c) d(b-a)  c and (a > b)

d) bc+a

e) d(2)  e = “E”

Post Test

 How do you design software to control a computer?


 How do you organise large amounts of information for efficient
computation?

27

Anda mungkin juga menyukai