ELEMEN – ELEMEN
PROGRAM
I. Elemen-Elemen Dalam
Bahasa Pemrograman
Berikut adalah element-element pada bahasa
pemrograman:
A. Aturan Leksikal
yaitu
aturan yang digunakan dalam membentuk suatu deklarasi, definisi maupun
statement hingga menjadi satu program yang utuh. Aturan ini meliputi beberapa
element antara lain:
1. Token
Yaitu element terkecil pada bahasa pemrograman yang memiliki arti
penting bagi compiler. Yang termasuk token antara lain: identifier,
keywords(reserved words), operator, dan sebagainya.
2. Komentar
yaitu teks (kumpulan
karakter) yang diabaikan oleh Compiler. Komentar sangat berguna untuk memberi
catatan mengenai bagian program tertentu sebagai referensi baik bagi programmer
itu sendiri maupun orang lain
Contoh bahasa C :
/* Program mencetak hello world
Oleh: Saya */
void main() {
// Cetak hello World
// Oleh Saya
printf(“Hello World”);
}
3. Identifier
merupakan kumpulan
karakter yang digunakan sebagai penanda untuk nama variable, nama tipe data,
fungsi, prosedur, dan sebagainya.
Aturan penulisan
identifier pada bahasa pascal dan bahasa C dapat dikatakan serupa. Yaitu :
suatu identifier harus diawali oleh karakter non angka sebagai berikut:_
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ selanjutnya boleh menggunakan
karakter angka maupun karakter non angka tersebut diatas, namun tidak boleh
menggunakan karakter khusus/spesial seperti + – * / ?! {} [] dan sebagainya
Berikut adalah contoh - contoh identifier yang benar :
_nama
No_telp
4. Keywords (Reserved
Words)
atau Reserved words
merupakan kata-kata yang telah ada/didefinisikan oleh bahasa pemrograman yang
bersangkutan. Kata-kata tersebut telah memiliki definisi yang sudah tetap dan
tidak dapat diubah
5. Operator
Operator digunakan untuk menyatakan suatu perhitungan/
operasi
a. Arithmetic Operator
b. Assignment Operator
c. Bitwise dan Logical Operator
d. Relational Operator
e. Pointer Operator
Operator-operator pada bahasa C :
a.Arithmatic Operator,
meliputi operator yang digunakan untuk melakukan perhitungan matematis (pow, *,
/, +, -, mod (%))
b.Assignment Operator,
merupakan operator penugasan yang ditandai dengan ‘=‘, ‘+=‘, ‘-=‘. Contoh : C=4
dan C+=3
c.Bitwise dan Logical
Operator, digunakan untuk operasi bit dan logika.
– Negasi (NOT).
Contoh : A=!B
– AND (kedua
kondisi bernilai benar). Ditandai dengan simbol ‘&&’
– OR
(jika salah satu kondisi bernilai benar). Ditandai degan simbol ‘||’
d.Relational Operator
(Perbandingan). Meliputi ‘==‘,’<=‘,’>=‘,’<>’
e.Pointer Operator
(Penunjuk). Disimbolkan dengan ‘*’
B. Type Data
Pada
suatu bahasa pemrograman umumnya telah menyediakan tipe-tipe data yang sederhana
(simple) maupun yang Kompleks.
I.
Tipe Data Sederhana
a
. Tipe integer : tipe data yang nilainya tidak memiliki titik
desimal.
b.
Tipe Real/float : tipe data yang nilainya
merupakan pecahan (memiliki titik desimal).
c.
Boolean Atau Logical
Type
data yang hanya mempunyai dua bentuk keluaran yaitu nilai True dan False (Benar
dan
Salah) yang dinyatakan dengan 1 dan
0, Sehingga satuan data yang terpakai cukup satu
bit saja.
Operator yang digunakan adalah : And, Or, Not, Xor
d.
CHARACTER
Type
data yang terdiri dari aksara (simbol) yang meliputi digit
numerik, character alfabetik dan spesial
character. Untuk menuliskan tipe char, karakter perlu ditulis di
dalam
tanda
petik tunggal ( ‘ )
Contoh :
‘A’ à karakter
berupa huruf A
‘1’ à karakter
berupa angka 1
‘*’ à karakter
simbol *
II.
Tipe data Majemuk
a.
String
merupakan
sekumpulan dari beberapa karakter, yang banyaknya berubah-ubah
sesuai
kebutuhan,besarnya
1 s/d 255 karakter.
Pemberian
nilai String diapit dengan tanda petik ganda (“)
Bentuk
umum penulisan tipe data ini adalah :
tipe_data
pengenal [panjang] ;
pengenal
= nama variabel
panjang
= bilangan bulat yg menunjukan jumlah karakter
Contoh
: char nama[15] ;
III.
Tipe Data Terstruktur
Yang
dimaksud dengan tipe data terstruktur yaitu tipe data yang dapat menampung lebih dari
satu nilai, sbb:
1.
Array
Yang
dimaksud array yaitu tipe data berindeks yang terdiri dari satu atau lebih
elemen/komponen yang memiliki tipe data yang sama.
2.
Record (Pascal) atau struct (Bahasa C)
Tipe
data ini digunakan untuk merepresentasikan kumpulan (set) elemen/komponen yang
memiliki satu jenis atau lebih tipe data. Tiap element disebut
juga field atau property atau attribute.
C. Expression
Expression yang paling
sederhana yaitu nama variable. Expression yang lebih kompleks akan melibatkan
operator-operator, maupun pemanggilan function atau procedure.
Berikut
adalah contoh expression: A à hanya berupa nama variable 10 à berupa suatu nilai
A + 3 * 2 à expression menggunakan operator
Calculate(A,B)
à melakukan pemanggilan function bernama
calculate
D. Statement
seperti yang telah disinggung
diatas,statement merupakan bagaian program yang berisi perintah yang akan dieksekusi/dijalankan.
1. Simple Statement yaitu statement yang tidak berisi
satatement lainnya, sbb:
a.
Assignment Statement : yaitu statement yang digunakan untuk
memberikan
nilai ke suatu variable
Contoh Pascal
|
Contoh Bahasa C
|
a:=10;
|
a=10;
|
b:=a*2;
|
b=a*2;
|
c:=c*b;
|
c=c*b;
|
Student[i].id:=12;
|
Student[i].id=12;
|
b.
Statement untuk pemanggilan function atau procedure:
yaitu statement yang memanggil function atau procedure yang telah didefinisikan pada program.
Contoh pemanggilan procedure dan fungsi pada bahasa
Pascal dan bahasa C (dengan asumsi procedure Calculate, Cetak, dan Fuction GetLength
untuk contoh dibawah, telah didefinisikan terlebih dahulu):
Contoh Pascal
|
Contoh Bahasa C
|
Calculate (a,b); B:=GetLength(student[i].Name);
Cetak (a,b);
|
Calculate (a,b); B=GetLength(student[i].Name);
Cetak (a,b);
|
c.
Jump Statement : yaitu statement yang digunakan untuk melompati statemet-statement lain. Yang termasuk dalam kategori statement ini yaitu:
Jump Statement : yaitu statement yang digunakan untuk melompati statemet-statement lain. Yang termasuk dalam kategori statement ini yaitu:
E. Function dan Procedure
Procedure dan Function disebut juga subroutine,
merupakan blok statement yang dapat dipanggil dari lokasi yang berbeda di dalam
program. Yang membedakan antara function dan procedure yaitu:
suatu
function jika dijalankan/dipanggil akan mengembalikan suatu nilai.
Ketika procedure atau
function dipanggil, kita dapat melewatkan suatu nilai ke dalam function atau
procedure tersebut. Nilai yang dilewatkan disebut juga argument atau parameter.
OPERATOR
Operator
merupakan simbol-simbol khusus yang digunakan untuk mengoperasikan suatu nilai
data ( Operand ) .
A.
Operator yang digunakan dalam
pemrograman
1.
Operator
Aritmatika
adalah operator yang biasa kita temukan untuk operasi
matematika. Aritmatika sendiri merupakan cabang ilmu matematika yang membahas perhitungan
sederhana, seperti kali, bagi, tambah dan kurang (kabataku)
Selain keempat operasi
tersebut, bahasa C juga memiliki operasi modulo division,
atau operator % yang dipakai untuk mencari sisa hasil bagi.
Tabel berikut merangkum operator aritmatika dalam bahasa
pemrograman C:
Operator
|
Penjelasan
|
Contoh
|
+
|
Penambahan
|
a = 5 + 2
|
–
|
Pengurangan
|
a = 5 – 2
|
*
|
Perkalian
|
a = 5 * 2
|
/
|
Pembagian
(real/pecahan)
|
a = 5 / 2
|
%
|
Sisa hasil bagi
(modulus)
|
a = 5 % 2
|
2.
Operator
Bitwise
Bitwise adalah operator khusus untuk menangani operasi
logika bilangan biner dalam bentuk bit.
Bilangan biner sendiri merupakan jenis bilangan yang hanya terdiri
dari 2 jenis angka, yakni 0 dan 1. Jika nilai asal yang dipakai bukan bilangan
biner, akan dikonversi secara otomatis oleh compiler C menjadi bilangan biner.
Misalnya 7 desimal = 0111 dalam bilangan biner.
Bahasa C mendukung 6 jenis operator bitwise. Daftar
lengkapnya dapat dilihat pada tabel berikut:
Operator
|
Nama
|
Contoh
|
Biner
|
Hasil (biner)
|
Hasil (desimal)
|
&
|
AND
|
10 & 12
|
1010 & 1100
|
1000
|
8
|
|
|
OR
|
10 | 12
|
1010 | 1100
|
1110
|
14
|
^
|
XOR
|
10 ^ 1
|
1010 ^ 1100
|
0110
|
6
|
~
|
NOT
|
~ 5
|
~0101
|
1011
|
-11 (Two’s complement)
|
<<
|
Left shift
|
10 << 1
|
1010 << 1
|
10100
|
20
|
>>
|
Right shift
|
10 >> 1
|
1010 >> 1
|
101
|
5
|
3.
Operator Assignment
Operator assignment adalah
operator yang digunakan untuk memberikan nilai ke dalam suatu variabel. Di
dalam bahasa C, operator assignment menggunakan tanda sama dengan ” = “.
Nantinya juga terdapat operator assignment gabungan, seperti ” += “, ” -= “,
dsb.
1. Operator (=)
contoh : x=y sama dengan perintah x=y
2. Operator (+=)
contoh : x+=y sama
dengan perintah x=x+y
3. Operator (-=)
contoh : x-=y sama dengan perintah x=x-y
4. Operator (*=)
contoh : x*=y sama dengan perintah x=x*y
5. Operator (/=)
contoh : x/=y sama dengan perintah x=x/y
6. Operator (.=)
contoh : x.=y sama dengan perintah x=x.y
7. Operator (%=)
contoh : x%=y sama dengan perintah x=x%y
4.
Operator Logical
Operator Boolean atau
Operator Logika adalah operator yang digunakan untuk melakukan operasi logika yaitu
operator yang menghasilkan nilai TRUE (benar) atau FALSE (salah).
Bebarapa macam operator
logika antara lain:
1. and : menghasilkan nilai TRUE jika kedua operand
bernilai TRUE
2. or : menghasilkan nilai TRUE jika salah satu
operand bernilai TRUE
3. xor : menghasilkan nilai TRUE jika salah
satu operand bernilai TRUE tetapi bukan keduaduanya
bernilai TRUE
4. ! : mengasilkan nilai tidak TRUE
5. && : menghasilkan nilai TRUE jika
kedua operand bernilai TRUE
6. || : menghasilkan nilai TRUE jika salah satu
operand bernilai TRUE
1. Operator AND (&&)
contoh :
x=6
y=3
(x < 10 && y > 1)
hasil :
TRUE
2. Operator OR (||)
contoh :
x=5
y=3
(x == 5 || y == 1)
hasil :
TRUE
3. Operator NOT (!)
contoh :
x=3
y=5
!(x==y)
hasil :
TRUE
5.
Operator Relational / Pembanding
Operator Pembanding atau Relasional adalah
operator yang digunakan untuk membandingkan antara dua buah nilai dan hasil
dari operasi dari operator ini bernilai TRUE atau FALSE, berikut beberapa
operator pembanding yaitu :
Contoh
penggunaan operator pembanding dalam pemrograman c#
using
UnityEngine;
using
System.Collections;
public
class BelajarProgram : MonoBehaviour {
void Start(){
int health = 100;
int demage = 20;
print(demage <= health); // hasilnya adalah TRUE
}
Hasil dari kode program diatas akan
bernilai TRUE atau BENAR, hal ini terjadi karena variabel demage yang memiliki
nilai 20 kurang dari sama dengan variabel health yang memiliki nilai 100.
6.
Operator
Pointer
Pointer adalah sebuah
variabel yang berisi alamat lain. Suatu pointer dimaksudkan untuk menunjukan ke
suatu alamat memori sehingga alamat dari suatu variabel dapat diketahui dengan
mudah.
Intinya :
- Pointer adalah suatu variabel yang menunjuk ke alamat memory variabel yang lainnya.
- Variabel pointer berisi suatu alamat (alokasi memory).
Intinya :
- Pointer adalah suatu variabel yang menunjuk ke alamat memory variabel yang lainnya.
- Variabel pointer berisi suatu alamat (alokasi memory).
Ada 2 operator pointer yang
dikenal secara luas, yaitu operator “&” dan operator “*”.
a. Operator &
Operator & merupakan operator alamat. Pada saat pendeklarasian variabel, user tidak..diharuskan menentukan lokasi sesungguhnya pada memory, hal ini akan dilakukan secara otomatis oleh kompiler dan operating sysem pada saat run-time.
Jika ingin mengetahui dimana suatu variabel akan disimpan, dapat dilakukan dengan memberikan
tanda ampersand (&) didepan variable , yang berarti "address of".
Contoh :
Misalkan variabel DATA_1 diletakkan pada alamat memory 1770, kemudian dituliskan instruksi
sbb :
DATA_1 = 27; à Variabel DATA_1 berisi data 27
DATA_2 = DATA_1; à Variabel DATA_2 diberi isi seperti DATA_1, yaitu 27
DATA_3 = &DATA_1; à Variabel DATA_3 berisi alamat memory DATA_1, yaitu 1770
b. Operator *
Operator * merupakan operator reference. Dengan menggunakan pointer,kita dapat mengakses,nilai yang tersimpan secara langsung dengan memberikan awalan operator asterisk (*) pada
identifier pointer, yang berarti "value pointed by".
Contoh :
Melanjutkan deklarasi sebelumnya, jika ada penulisan variabel berikut
DATA_4 = *DATA_3
Dapat dikatakan bahwa DATA_4 sama dengan nilai yang ditunjuk oleh DATA_3.
DATA_3 berisi alamat memory 1770, sementara memory 1770 menampung data bernilai 27.
Jadi DATA_4 berisi nilai yang berada pada alamat 1770, yaitu 27.
a. Operator &
Operator & merupakan operator alamat. Pada saat pendeklarasian variabel, user tidak..diharuskan menentukan lokasi sesungguhnya pada memory, hal ini akan dilakukan secara otomatis oleh kompiler dan operating sysem pada saat run-time.
Jika ingin mengetahui dimana suatu variabel akan disimpan, dapat dilakukan dengan memberikan
tanda ampersand (&) didepan variable , yang berarti "address of".
Contoh :
Misalkan variabel DATA_1 diletakkan pada alamat memory 1770, kemudian dituliskan instruksi
sbb :
DATA_1 = 27; à Variabel DATA_1 berisi data 27
DATA_2 = DATA_1; à Variabel DATA_2 diberi isi seperti DATA_1, yaitu 27
DATA_3 = &DATA_1; à Variabel DATA_3 berisi alamat memory DATA_1, yaitu 1770
b. Operator *
Operator * merupakan operator reference. Dengan menggunakan pointer,kita dapat mengakses,nilai yang tersimpan secara langsung dengan memberikan awalan operator asterisk (*) pada
identifier pointer, yang berarti "value pointed by".
Contoh :
Melanjutkan deklarasi sebelumnya, jika ada penulisan variabel berikut
DATA_4 = *DATA_3
Dapat dikatakan bahwa DATA_4 sama dengan nilai yang ditunjuk oleh DATA_3.
DATA_3 berisi alamat memory 1770, sementara memory 1770 menampung data bernilai 27.
Jadi DATA_4 berisi nilai yang berada pada alamat 1770, yaitu 27.