JENIS DATA, KONSTANTA, VARIABEL, LAMBANG OPERASI, DAN EKSPRESI

Catatan: maaf tabel-tabelnya tidak rapih, saya belum mengetahui penggunaan tabel di dalam forum ini

Variabel & konstanta merupakan objek data dasar yang dimanipulasi di dalam suatu program. Setiap konstanta dan variabel harus jelas jenis datanya. Untuk itu mereka harus dideklarasikan sebelumnya.

Operator (lambang operasi) digunakan untuk menetapkan apa yang akan dilakukan terhadap konstanta/variabel tersebut.

Ekspresi adalah suatu bangun algoritma, berdasarkan aturan-aturan tertentu, untuk menghitung suatu nilai. Suatu ekspresi dibentuk oleh variabel-variabel, konstanta-konstanta dan fungsi-fungsi (operand) yang dikombinasikan oleh lambang-lambang operasi (operator).

Aturan yang berlaku dalam suatu ekspresi adalah sebagai berikut
1. suatu ekspresi akan mendahulukan pengoperasian operator yang tingkatannya paling tinggi.
2. suatu ekspresi akan mendahulukan pengoperasian operator terdepan pertama jika operator-operator yang digunakan mempunyai tingkatan yang sama.
3. suatu ekspresi yang mengandung operasi prioritas (berada dalam tanda kurung), akan mendahulukan pelaksanaan operasi prioritas tersebut.
4. operand yang digunakan pada suatu ekspresi harus mempunyai atau menghasilkan jenis data yang sama.


A. JENIS DATA UTAMA
Pada dasarnya C hanya mengenal empat jenis kata, yaitu char, int, float, dan double.

Suatu jenis data menetapkan suatu rentangs nilai yang dapat dimiliki oleh suatu konstanta dan variabel, atau dihasilkan oleh suatu ekspresi atau fungsi. (Nicklaus Wirth 1976:4)

Dengan demikian, jika anda akan menggunakan suatu konstanta, variabel, atau fungsi maka mereka harus ditetapkan jenis datanya, karena setiap operasi yang dibentuk didasarkan pada suatu jenis data tertentu.

Jenis data char merupakan suatu byte tunggal yang mempunyai kemampuan untuk memegang suatu data karakter. Jenis data int merupakan suatu jenis data yang mempunyai kemampuan untuk memegang suatu nilai bilangan bulat. Jenis data float merupakan suatu jenis data yang mempunyai kemampuan untuk memegang suatu nilai bilangan nyata berpresisi tunggal. Jenis data double merupakan suatu jenis data yang mempunyai kemampuan untuk memegang suatu nilai bilangan nyata berpresisi ganda.

Perluasan jenis data int diwujudkan dalam dua jenis data lain, yaitu short dan long, yang berbeda kemampuannya dalam menyimpan rentang nilai yang diberikan kepadanya.
Jenis jenis data char, int, short, dan long dapat didahului oleh keyword signed atau unsigned untuk menyatakan bahwa jenis data tersebut meliputi bilangan bulat negatif atau tidak. Jika itu tidak dinyatakan, maka dianggap signed.

Rentang nilai dan ukuran setiap jenis data tergantung pada jenis mesin dan kompiler yang digunakan.

Code:

Jenis data ukuran Rentang nilai
-------------- ------ ---------------------------
char 1 byte -128 s/d 127
unsigned char 1 byte 0 s/d 255
signed int 2 byte -32,768 s/d 32,767
unsigned int 2 byte 0 s/d 65,535
short 2 byte -32,768 s/d 32,767
unsigned short 2 byte 0 s/d 65,535
long 2 byte -2,147,483,648 s/d 2,147,463,647
unsigned long 4 byte 0 s/d 4,294,967,295
float 4 byte 3.4E-38 s/d 3.4E+38
double 8 byte 1.7E-308 s/d 1.7E+308

Catatan:
* akhiran L perlu dituliskan dibelakang konstanta bilangan bulat untuk membedakan jenis data long atau unsigned long dari jenis data bilangan bulat lainnya.
* Jenis data string dipandang sebagai array karakter

B. VARIABEL
Variabel adalah suatu besaran yang nilainya dapat berubah pada saat program berlangsung. Setiap variabel dinyatakan oleh suatu identifier.
Setiap variabel harus dideklarasikan terlebih dahulu sebelum digunakan di dalam program. Setiap variabel yang dideklarasikan harus dinyatakan jenis datanya. Bentuk umum pendeklarasian variabel adalah sebagai berikut.

[type] id_var1[, id_var2 …];

dimana id_var1 dan id_var2 adalah nama variabel yang dideklarasikan, dan type adalah jenis data yang ditetapkan untuk id_var1 dan id_var2. Contoh :

int liter, harga;
char nama[20];

dalam deklarasi suatu variabel dapat dilakukan initialisasi nilai terhadap variabel tersebut. Bentuk umum deklarasi dan initialisasi variabel adalah sebagai berikut.

[type] id_var1 = val_var1[, id_var2 = val_var2 …];

dimana id_var1 dan id_var2 adalah nama variabel yang dideklarasikan, val_var1 dan val_var2 adalah nilai awal yang ditetapkan pada id_var1 dan id_var2, dan type adalah jenis data untuk id var_1 dan id_var2. contoh :

int liter,
harga = 385;
char nama[20] = "Abdallah";

contoh program-3.1 akan meminta pengguna program untuk menuliskan namanya, menetapkannya terhadap variabel, kemudian mencetak pesan dalam media output standar.

Program 3.1: SALAM.C
Code:

#include

char nama [20],
prompt [20] = "Tulis nama anda: ";

main ( )
{
printf (prompt);
scanf ("%s", nama);
printf ("Halo %s. Selamat belajar C.\n", nama);
}

apabila program tersebut dijalankan maka akan muncul tampilan sebagai berikut.

Tulis nama anda: Anugrah
Halo Anugrah. Selamat belajar C.

C. OPERASI ARITMATIKA
Operator aritmatika yang digunakan dalam bahasa C pada umumnya sama dengan lambang operasi hitung biasa. Operator operator tersebut, kegunaan, prioritas, contoh ekspresi dan hasilnya adalah seperti terlihat pada tabel 3.2

Tabel 3.2:
Operator Aritmatika
Code:

operator operasi Contoh ekspresi hasil
-------- -------------- --------------- -----
* perkalian 21*8 208
/ pembagian 27/3 9
% sisa pembagian 30%4 2
+ penjumlahan 2+10 12
- pengurangan 29-13 16

Catatan
* Operator % tidak dapat digunakan untuk jenis data float atau double.
* Operator * / dan % mempunyai tingkat prioritas yang sama, begitu pula operator + dengan -, kelompok operator pertama mempunyai tingkat prioritas yang lebih tinggi dari kelompok yang kedua.

Berdasarkan aturan ekspresi yang telah disebutkan dalam awal bab ini maka tahapan pelaksanaan yang dilalukan untuk ekspresi-ekspresi aritmatika berikut adalah seperti dinyatakan oleh ekspresi sebelahnya.

Code:

Ekspresi Tahap pelaksanaan
------------ -----------------
2+3*4 2+12
14
(2+3)*4 5*4
20
2*3%4 6%4
2
2*(3%4) 2*3
6
2+3.0/4-5 2+0.75-5
2.75-5
-2.25
(2+3)/(4-5) 5/(4-5)
5/-1
-5

Hati hatilah dengan operator pembagian. Apabila pembilang dan penyebut berupa bilangan bulat maka hasil operasi ini berupa bilangan bulat pula. Untuk mendapatkan hasil bagi berupa bilangan nyata maka salah satu dari pembilang dan penyebut harus berupa bilangan nyata. Contoh:

Code:

ekspresi Hasil
-------------- --------
10/3 3
(float) 10/3 3.333333

D. OPERASI HUBUNGAN DAN LOGIKA
Operasi hubungan digunakan untuk menguji hubungan antara dua buah operand. Nilai yang dihasilkan operasi ini adalah 0 kalau salah dan –1 kalau benar. Operator-operator yang digunakan adalah seperti ditunjukan dalam tabel 3.3

Tabel 3.3:
Operator Hubungan
Code:

operator Operasi
-------- ---------------------
== Sama dengan
!= Tidak sama dengan
< Lebih kecil > Lebih besar
<= Lebih kecil atau sama >= Lebih besar atau sama

Perhatikanlah contoh pengurangan operator hubungan serta nilai akhirnya pada ekspresi berikut ini.
Code:

ekspresi Hasil
---------- -----
2>3 0
2!=3 -1
4*5==10*2 -1

Prioritas pelaksanaan operasi hubungan lebih rendah dari pelaksanaan operasi aritmatika. Berikut ini adalah contoh tahapan pelaksanaan yang dilakukan untuk ekspresi-ekspresi aritmatika dan hubungan.
Code:

ekspresi Tahap pelaksanaan
---------- -----------------
2<5-3 2<2 0 2<=5-3 2<=2 -1 10*2==5*4 20==20 -1 Operasi logika digunakan untuk mengoperasikan operand berjenis data bilangan bulat berdasarkan aturan aturan operasi logika pada aljabar modern. Pada operasi ini setiap operand yang bernilai 0 dinyatakan salah dan operand yang bernilai bukan 0 dinyatakan benar. Nilai yang dihasilkan operasi ini sama seperti operasi hubungan, yaitu 0 kalau salah dan –1 kalau benar. Tabel 3.4 menunjukan nama operator, cotoh ekspresi dan hasil operasi daripada operator logika. Tabel 3.4 Operator Logika, Contoh dan Hasil Ekspresi Code: Operator Operasi Operand A Operand B Ekspresi Hasil -------- ------- --------- --------- -------- ----- ! NOT Benar !A Salah Salah Benar && AND Benar Benar A&&B Benar Benar Salah Salah Salah Benar Salah Salah Salah Salah || OR Benar Benar A||B Benar Benar Salah Benar Salah Benar Benar Salah Salah Salah Contoh: Code: ekspresi Tahap pelaksanaan ----------- --------------- 2<3&&4<5 benar && 4 < 5 benar && benar benar 10*2&&5<4 20 && 5 < 4 benar && salah salah 10*2||5<4 20 || 5 < 4 benar || salah benar 1. Operasi Penarikan dan Penurunan Bahasa C memberikan dua buah operator yang tidak umum untuk penaikan (incrementing) dan penurunan (decrementing) nilai suatu variabel. Variabel yang dioperasikan harus berjenis data bilangan bulat atau pointer. Operasi penaikan berfungsi untuk menambah nilai variabel yang dinyatakannya dengan konstanta 1, sementara operasi penurunan adalah kebalikannya. Operator yang digunakan adalah ++ dan --. Operator ini dapat ditempatkan sebelum atau sesudah nama variabel. Jika ditempatkan sebelum nama variabel maka operasi ini akan didahulukan dari operasi operator lain yang ada dalam suatu ekspresi, dan sebaliknya jika ditempatkan sesudah nama variabel. Berikut ini adalah contoh ekspresi operasi operasi ini dan persamaannya. Code: ekspresi Persamaan ----------- --------- a++ a=a+1 a-- a=a-1 b=a++/6 b=a/6 a=a+1 b=3*a-- b=3*a a=a-1 b=++a/6 a=a+1 b=a/6 b=3*--a a=a-1 b=3*a c=a++ + ++b b=b+1 c=a+b a=a+1 Dari contoh contoh di atas, anda dapat melihat kesederhanaan penulisan beberapa pernyataan ke dalam satu pertanyaan dalam bahasa C. 2. Operasi Penetapan operasi penetapan digunakan untuk menetapkan suatu nilai terhadap suatu variabel. Bentuk umum operasi ini adalah id_var = ekspresi dimana id_var adalah identifier variabel yang akan menampung nilai hasil ekspresi. Contoh: a = 5*27 Dalam banyak hal, nilai variabel yang akan ditetapkan juga merupakan bagian dari ekspresi, seperti a = a+4 Jika terdapat kasus terakhir, bahasa C memberikan kemudahan bagi anda untuk menyederhanakan penulisan operasi penetapan tersebut, yaitu menjadi a += 4 Hampir semua binary operators dapat dibentuk penyederhanaannya, yaitu dalam bentuk umum id_var op= ekspresi Di mana op adalah salah satu dari operator +, -, *, /, %, <<, >>, &, ^, dan |. Bentuk operasi di atas mengandung arti.

id_var = id_var op ekspresi

Contoh:
Code:

ekspresi Persamaan
-------- ---------
x*=y-1 x=x*(y+1)
x+=5 x=x+5
x>>=3 x=x>>3

3. Prioritas dan Arah Pelaksanaan Operator
tabel berikut menunjukan tingkat prioritas dan arah pelaksanaan operator, baik yang telah dibahas maupun belum. Operator-operator yang terletak pada baris yang sama mempunyai tingkat prioritas sama dengan arah pelaksanaan sesuai dengan yang dinyatakan dalam kolom sebelahnya.


Tabel 3.5:
Prioritas Dan Arah Pelaksanaan Operator
Code:

operator Arah pelaksanaan
--------------------------- ------------------
() [] -> . Dari kiri ke kanan
! ~ ++ -- -(type)* & sizeof Dari kanan ke kiri
* / % Dari kiri ke kanan
+ - Dari kiri ke kanan
<< >> Dari kiri ke kanan
< <= > >= Dari kiri ke kanan
== != Dari kiri ke kanan
& Dari kiri ke kanan
^ Dari kiri ke kanan
| Dari kiri ke kanan
&& Dari kiri ke kanan
|| Dari kiri ke kanan
?: Dari kanan ke kiri
= += -= dll Dari kanan ke kiri
, Dari kiri ke kanan

2 komentar:

Posting Komentar