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.
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.
aa+3
dibaca sebagai :
berikanlah nilai terhadap variabel a yang sama dengan nilai (lama) variabel a. sendiri
ditambahkan dengan 3.
integerItem = 5; (JAVA, C)
integerItem := 5; (PASCAL)
integerItem = 5 (Visual BASIC)
integerItem := myDataItem;
integerItem := (myDataItem+2) * someIncrement;
integerItem := myFunction(argument1,argument2);
Kesahihan operasi.
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.
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 :
22
2.3.2 Operasi Read/Write
Operasi Read
Operasi Read /“Membaca” adalah operasi yang menerima data dari Input
device dan menampungnya dalam variabel tertentu.
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
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 !
a) a 723 + b
b) c a or b
d) bc+a
e) d(2) e = “E”
Post Test
27