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








Komentar
Posting Komentar