NILAI, EKSPRESI, INPUT DAN OUTPUT



Komputer mampu melakukan operasi aritmetika dan logika terhadap nilai yang 

disimpan di memori. Di dalam program, nilai disimpan dalam suatu nama “variabel”, 

sehingga dengan mengacu kepada nama, dapat dilakukan operasi yang diinginkan. 

Nilai yang disimpan juga dapat diperoleh dari hasil pembacaan dari piranti masukan, 

serta dapat dikomunikasikan ke dunia luar melalui piranti keluaran. 

Pada bagian ini dijelaskan notasi yang dipakai untuk mendefinisikan dan melakukan 

manipulasi nilai. 

Nilai (Harga) 

Nilai atau harga adalah suatu besaran bertype yang telah dikenal. 

Harga dalam suatu algoritma dapat diperoleh dari : 

- isi suatu nama, yaitu nama informasi atau nama konstanta, 

- hasil perhitungan suatu ekspresi,

- hasil yang dikirim suatu fungsi,

- konstanta bernama atau tanpa diberi nama yang dipakai langsung. 

Harga dapat dimanipulasi: 

- diisikan ke nama informasi (nama variabel) yang mempunyai type sesuai dengan 

harga tersebut dengan instruksi “assignment”, 

- diacu saja dari suatu nama, untuk dipakai dalam perhitungan atau ekspresi, 

- dibandingkan, sesuai dengan operator pembanding yang tersedia, 

- dituliskan ke piranti keluaran (layar, printer, menyalakan signal, ...), 

- dipakai dalam ekspresi, tergantung typenya. 

Pengisian Nilai 

Suatu nama konstanta secara otomatis akan mempunyai harga tetap yang terdefinisi 

pada saat nama konstanta tersebut didefinisikan dalam kamus. Jadi, menyebutkan 

nama konstanta secara otomatis akan memakai harga yang didefinisikan pada kamus 

tersebut. Tidak demikian halnya dengan nama informasi. Suatu nama informasi dapat 

dipakai dalam ekspresi jika harganya telah terdefinisi. Ada dua cara untuk mengisi 

suatu nama informasi dengan harga, yaitu dengan: 

- assignment, atau 

- dibaca dari suatu piranti masukan 

Assignment 

Assignment adalah instruksi primitif algoritmik untuk menyimpan harga pada suatu 

nama informasi yang isinya boleh bervariasi (“variabel”), dengan perkataan lain 

adalah memberikan harga pada suatu nama variabel. Dengan pemberian harga ini

harga lama yang disimpan tidak lagi berlaku, yang berlaku adalah harga paling akhir 

yang diberikan. 

Memrogram secara prosedural pada hakekatnya adalah memanipulasi nama yang 

mewakili alokasi memori tertentu dan memaipulasinya dengan algoritma yang ditulis. 

Manipulasi harga terhadap nama dilakukan dengan assignment.


dengan syarat: 

- bagian kiri dan bagian kanan tanda pemberian harga (←) bertype sama, 

- <nama> dan <nama1> (bagian kiri tanda ← harus merupakan nama informasi, 

tidak boleh nama konstanta, type, fungsi atau prosedur, 

- nama yang tertulis di bagian kanan tanda ← (misalnya nama2 atau nama 

konstanta atau nama yang dipakai dalam ekspresi) boleh berupa nama informasi, 

nama fungsi, nama konstanta, 

- semua nama yang dipakai dalam assignment tidak boleh berupa nama type atau 

nama prosedur. 

Input 

Selain dengan assignment, suatu harga dapat diisikan ke suatu nama informasi melalui 

pembacaan harga tersebut dari piranti masukan (keyboard, mouse, scanner, dan 

sebagainya). Disebut “dibaca” karena arah dari pengisian harga yaitu seakan-akan 

komputer “membaca” harga yang diberikan pengguna. Pemberian harga dari piranti 

masukan ini mencakup konsep “menerima nilai” dari piranti masukan apapun, 

misalnya menerima nilai besaran temperatur dari sebuah sensor temperatur yang 

dihubungkan dengan komputer di suatu ruangan.

Input 

Selain dengan assignment, suatu harga dapat diisikan ke suatu nama informasi melalui 

pembacaan harga tersebut dari piranti masukan (keyboard, mouse, scanner, dan 

sebagainya). Disebut “dibaca” karena arah dari pengisian harga yaitu seakan-akan 

komputer “membaca” harga yang diberikan pengguna. Pemberian harga dari piranti 

masukan ini mencakup konsep “menerima nilai” dari piranti masukan apapun, 

misalnya menerima nilai besaran temperatur dari sebuah sensor temperatur yang 

dihubungkan dengan komputer di suatu ruangan.


dengan syarat: 

- list nama adalah satu atau lebih nama informasi, 

- nama yang muncul pada list-nama hanya boleh berupa nama informasi, dan tidak 

boleh nama lain (nama konstanta, type, fungsi atau prosedur).

Output 

Suatu harga yang disimpan dalam memori komputer (diacu berkat definisi nama 

informasi (variabel), nama konstanta atau konstanta) harus dapat dikomunikasikan ke 

dunia luar untuk diinterpretasikan oleh pemakai program. Dalam hal ini, harga harus 

dapat dituliskan ke suatu piranti keluaran, misalnya layar, printer. 

Instruksi algortimik yang disediakan untuk menuliskan nama informasi adalah 

instruksi penulisan atau output. Instruksi output tidak mengubah nilai yang disimpan


dengan syarat : 

- list nama adalah satu atau lebih nama : boleh nama informasi, nama konstanta

atau hasil pemanggilan/aplikasi fungsi. Khusus untuk pemanggilan fungsi, lihat 

pemakaian fungsi. 

- nama-nama dalam list-nama tidak boleh berupa nama type atau prosedur. 

- nama yang akan dituliskan sudah terdefinisi harganya. Jika suatu nama informasi, 

didefinisikan dengan assignment atau instruksi input.

Ekspresi 

Ekspresi suatu “rumus perhitungan", yang terdiri dari operan dan operator. Operator

yang dituliskan harus didefinisikan untuk mengoperasikan operan ber-type tertentu. 

Hasil perhitungan adalah harga dengan domain yang memenuhi type operator yang 

bersangkutan. 

Operan harus mempunyai harga, karena itu dapat berupa konstanta, nama (dalam 

hal ini yang dipakai dalam perhitungan adalah harga yang dikandung nama yang 

bersangkutan), hasil pengiriman suatu fungsi atau merupakan suatu ekspresi. 

Ekspresi uner adalah ekspresi dengan operator uner, yaitu operator yang hanya 

membutuhkan satu operan.

Ekspresi biner adalah ekspresi dengan operator biner (membutuhkan dua operan) 

dapat dituliskan dalam 3 macam notasi, yaitu: 

a. Notasi infix: operator di tengah 

operan1 operator operan2 

Contoh: 

 13 * 5 

 ((3 * 5) + (4 div 7) )- (a * b) 

b. Notasi prefix: operator di awal 

operator operan1 operan2 

Contoh : 

 * 13 5 

 - + * 3 5 div 4 7 * a b adalah - ( ( + (* 3 5) (div 4 7) ) (* a b) ) 

c. Notasi suffix/polish: operator di akhir 

operan1 operan2 operator 

Contoh : 

 13 5 * 

 3 5 * 4 7 div a b * + - adalah (3 5 *) ( ( 4 7 div) ( a b * ) + ) - 

Untuk selanjutnya, pada kuliah ini ekspresi dituliskan dalam bentuk infix, yang sesuai 

dengan penulisan ekspresi aritmatika sehari-hari. Ada bahasa pemrograman memakai 

ekspresi infix, prefix atau postfix. Untuk menghindari kerancuan prioritas 

perhitungan, ekspresi ditulis dengan tanda kurung yang lengkap. 

Ekspresi akan dihitung (dengan beberapa perjanjian jika terjadi ketidak-cocokan type 

maupun ketelitian). Hasilnya sesuai dengan type ekspresi, selanjutnya dapat 

dimanipulasi, ditampilkan pada piranti keluaran atau disimpan dalam suatu nama. 

Type ekspresi sesuai dengan type hasil. Contoh type ekspresi untuk type dasar adalah: 

- logika (boolean) 

- numerik 

- karakter dan string 

Contoh Ekspresi Boolean 

Diberikan sebuah kamus dan algoritma untuk mendefinisikan nama variabel


Contoh Ekspresi Numerik 
Diberikan sebuah kamus dan algoritma untuk mendefinisikan nama variabel:

Maka berikut ini adalah contoh ekspresi numerik dan hasilnya:

Contoh Ekspresi Karakter dan String 
Diberikan sebuah kamus dan algoritma untuk mendefinisikan nama variabel:




Komentar

Postingan populer dari blog ini

PROSEDUR

SKEMA PEMROSESAN SEKUENSIAL