Element – Element pada Bahasa Pemrograman Lanjut
Element – element bahasa pemrograman
Kita akan menjumpai element – element yang pada dasarnya serupa antara satu
bahasa dengan bahasa lain. Hal itu dikarenakan element – element tersebut
merupakan bagian dari tata bahasa pemrograman yang bersangkutan
bahasa dengan bahasa lain. Hal itu dikarenakan element – element tersebut
merupakan bagian dari tata bahasa pemrograman yang bersangkutan
Berikut adalah element – element pada bahasa pemrograman :
- Aturan leskikal
- Tipe data
- Expression
- Statement
- Fungtion dan procedure
Kita akan membahas satu persatu element – element yang tersebut di atas.
Aturan leskikal
Yang dimaksud aturan leskikal yaitu aturan yang digunakan dalam membentuk suatu
deklarasi, definisi, maupun statement hingga menjadi satu program yang utuh. Aturan ini
meliputi beberapa element antara lain :
deklarasi, definisi, maupun statement hingga menjadi satu program yang utuh. Aturan ini
meliputi beberapa element antara lain :
- Token
- Komentar
- Identifier
- Keywords (Reserved Word)
- Operator
TOKEN
Token yaitu element terkecil pada bahasa pemrograman yang memiliki arti penting
bagi compiler.
bagi compiler.
Yang termasuk token antara lain : identifier keywords (Reserved Words), operator dan
sebagainya
sebagainya
Token yang satu dengan yang lain dipisahkan dengan satu atau lebih spasi, tab,
baris baru, tau komentar.
baris baru, tau komentar.
KOMENTAR
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 yang
membaca kode program tersebut. Pada bahasa Pascal. Teks yang berada
diantara kurung kurawal pembuka {dan kurung kurawal tutup } akan dianggap
sebagai komentar. Selain itu, dapat pula menggunakan tanda
sangat berguna untuk memberi catatan mengenai bagian program tertentu
sebagai referensi baik bagi programmer itu sendiri maupun orang lain yang
membaca kode program tersebut. Pada bahasa Pascal. Teks yang berada
diantara kurung kurawal pembuka {dan kurung kurawal tutup } akan dianggap
sebagai komentar. Selain itu, dapat pula menggunakan tanda
(*sebagai pembuka komentar, dan tanda *) sebagai penutup. Contoh :
Pada bahasa C, teks yang berada diantara tanda /* dan tanda */ akan dianggap
sebagai komentar. Dan untuk teks yang ada setelah tanda // juga akan dianggap
komentar satu baris. Berikut adalah contoh penggunaan komentar pada bahasa C :
sebagai komentar. Dan untuk teks yang ada setelah tanda // juga akan dianggap
komentar satu baris. Berikut adalah contoh penggunaan komentar pada bahasa C :
IDENTIFIER
Identifier merupakan kumpulan karakter yang digunakan sebagai penanda untuk
nama variabel, 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
nama variabel, 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
Abcdefghijklmnopqrstufwxyz
ABCDEFGHIJKLMNOPQRSTUFWXYZ
Selanjutna boleh menggunakan karakter angka ( 0 1 2 3 4 5 6 7 8 9 ) maupun
karakter non angka tersebut di atas, namun tidak boleh menggunakan karakter
khusus spesial seperti + - * / ? ! { } [ ] dan sebagainya. Berikut adalah contoh – contoh
identifier yang benar maupun salah.
karakter non angka tersebut di atas, namun tidak boleh menggunakan karakter
khusus spesial seperti + - * / ? ! { } [ ] dan sebagainya. Berikut adalah contoh – contoh
identifier yang benar maupun salah.
_Nama Benar
No_Telpon Benar
Bilangan Benar
4data salah karena di awali oleh karakter angka : 4data
Teks? salah karena mengandung karakter khusus / spesial : Teks ?
Tatapi sebagai catatan yang perlu diingat, identifier pada bahasa Pascal case
insensitive (huruf besar dan huruf kecil dianggap sama) sedangkan pada bahasa C,
identifier bersifat case sensitive (huruf besar dan huruf kecil dibedakan ), sebagai
contoh, identifier No_telpon dan no_telpon pada bahasa Pascal dianggap sama,
sedangkan di bahasa C dianggap sebagai dua identifier yang berbeda.
insensitive (huruf besar dan huruf kecil dianggap sama) sedangkan pada bahasa C,
identifier bersifat case sensitive (huruf besar dan huruf kecil dibedakan ), sebagai
contoh, identifier No_telpon dan no_telpon pada bahasa Pascal dianggap sama,
sedangkan di bahasa C dianggap sebagai dua identifier yang berbeda.
KEYWORDS (Reserved Words)
Keywird 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. Karena telah memiliki definisi tertentu,
maka kata-kata ini tidak dapat digunakan sebagai identifier
oleh bahasa pemrograman yang bersangkutan. Kata-kata tersebut telah memiliki definisi
yang sudah tetap dan tidak dapat diubah. Karena telah memiliki definisi tertentu,
maka kata-kata ini tidak dapat digunakan sebagai identifier
Pada bahasa Pascal yang termasuk reserved word antara lain :
and array asm begin case const div
do downto else end file for forward
function goto if in label mod nil
not of or packed procedure program
record repeat set string then to
type unit until uses var while with
pada bahasa C, yang termasuk reserved word antara lain :
break case char const continue default do
double else enum float for goto if
inline int long return short signed sizeof
static struct switch typedef union unsigned void
while
OPERATOR
Operator digunakan untuk menyatakan suatu perhitungan/operasi. Operator yang
digunakan untuk operasi yang melibatkan suatu operand disebut unary operator.
Jika melibatkan dua operand maka disebut binary operator.dan jika melibatkan tiga
operand, operator tersebut disebut ternary operator.
digunakan untuk operasi yang melibatkan suatu operand disebut unary operator.
Jika melibatkan dua operand maka disebut binary operator.dan jika melibatkan tiga
operand, operator tersebut disebut ternary operator.
Di dalam suatu operasi dapat terdapat banyak operator. Urutan eksekusi dari
operator-operator disebut juga operator precedence. Precedence yang lebih rendah
akan dieksekusi belakangan.
operator-operator disebut juga operator precedence. Precedence yang lebih rendah
akan dieksekusi belakangan.
Misalnya :
A = 10 + 5 * 2
Karena precedence operator * lebih tinggi daripada operator + maka nilai A adalah
20 diperoleh dari perkalian 5 dan 2, kemudian dijumlahkan dengan 10. Untuk yang
lebih rendah dapat digunakan tanda ( dan ) sebagai contoh :
20 diperoleh dari perkalian 5 dan 2, kemudian dijumlahkan dengan 10. Untuk yang
lebih rendah dapat digunakan tanda ( dan ) sebagai contoh :
A = (10 + 5) * 2
Variabel A akan memiliki nilai 30, diperoleh dari penjumlahan 10 dan 5, kemudian
dikalikan 2.
dikalikan 2.
Operator dapat dikategorikan menjadi beberapa jenis antara lain :
- Arithmatic operator
- Assignment operator
- Bitwise dan logical operator
- Relational operator
- Pointer operator
Berikut akan dibahas lima keloompok operator tersebut di atas. Sebagai catatan,
masih tedapat operator-operator yang belum tercakup pada kelompok tersebut di atas.
Yang dibahas di sini hanya bagian-bagian yang sangat umum.
masih tedapat operator-operator yang belum tercakup pada kelompok tersebut di atas.
Yang dibahas di sini hanya bagian-bagian yang sangat umum.
1. Arithmetic operator
Yang termasuk didalam operator arithmetic yaitu operator yang digunakan untuk
melakukan operasi aritmatika, sepertii :
melakukan operasi aritmatika, sepertii :
a. Penjumlahan + (pada bahasa C, terdapat juga operator ++ sebagai prefix
increament. Misalnya operasi: i++ atau ++i, akan melakukan increment nilai i sebesar 1)
increament. Misalnya operasi: i++ atau ++i, akan melakukan increment nilai i sebesar 1)
b. Pengurangan : - (seperti penjumlahan, pada bahasa C, juga terdapat operator –
sebagai prefix decrement)
sebagai prefix decrement)
c. Perkalian : *
d. Pembagian : / (pada bahsa Pascal, terdapat juga operator div yang digunakan
untuk melakukan pembagian bilangan bulat )
untuk melakukan pembagian bilangan bulat )
e. Mencari sisa pembagian : pada bahasa Pascal adalah operator mod, sedangkan
pada bahasa C menggunakan tanda %
pada bahasa C menggunakan tanda %
f. Operator – operator yang disebut diatas termasuk binary operator karena melibatkan
dua operand.
dua operand.
g. Terdapat pula operator unary, yaitu tanda – dan + yang digunakan sebagai tanda bilangan
negatif atau positif.
negatif atau positif.
2. Assignment operator
Operator ini digunakan untuk memberi nilai suatu identifier. Pada bahasa Pascal,
digunakan tanda titik dua dan tanda sama dengan = untuk memberi nilai pada variabel contoh :
digunakan tanda titik dua dan tanda sama dengan = untuk memberi nilai pada variabel contoh :
C := A+B, atau C := 4
Pada bahasa C, terdapat beberapa assignment operator yaitu :
a. Tanda = memiliki fungsi yang sama dengan tanda = pada Pascal
b. Tanda + = digunakan untuk melakukan assignment penjumlahan , misalnya terdapat
dua operasi sebagai berikut : C = 4 ; C+=3;
dua operasi sebagai berikut : C = 4 ; C+=3;
Setelah baris pertama dieksekusi, maka C bernilai 4. Setelah baris kedua dieksekusi C
memiliki nilai 7.
memiliki nilai 7.
c. Tanda -= digunakan untuk melakukan assignment pengurangan. Cara penggunaannya sama
d. Seperti contoh penggunaan tanda += di atas.
e. Tanda <<= merupakan left shift assignment, digunakan untuk menggeser bit ke kiri.
f. Tanda >>= merupakan kanan right shift assignment, digunakan untuk menggeser bit ke. kanan
3. Bitwise dan logical operator
Operator ini digunakan untuk melakukan operasi bit dan logika. Yang termasuk di dalam operator ini
antara lain:
antara lain:
• Negasi
bahasa Pascal : NOT contoh A := NOT B;
bahasa C : ! contoh A = !B;
•And
bahasa Pascal : AND contoh A := A AND B;
bahasa C : && contoh A = A && B;
• Or bahasa Pascal : OR contoh A := B OR C;
bahasa C : || contoh A = B || C;
• Shift Left bahasa Pascal : shl contoh A := B shl C;
bahasa C : << contoh A = B << C;
• Shift Right bahasa Pascal : shr contoh A := B shr C;
bahasa C : >> contoh A = B >> C;
4. Relational Operator
Operator relasional digunakan untuk membandingkan nilai dua operand. Sebagai catatan, operand
yang
dibandingkan harus memiliki tipe data yang sama, kecuali untuk bilangan bulat (bertipe integer) dan
bilangan
pecahan (bertipe real atau float). Yang termasuk operator relasional yaitu:
yang
dibandingkan harus memiliki tipe data yang sama, kecuali untuk bilangan bulat (bertipe integer) dan
bilangan
pecahan (bertipe real atau float). Yang termasuk operator relasional yaitu:
Penanda kesamaan = (Pada bahasa C, penanda kesamaan menggunakan dua tanda sama dengan,
yaitu == )
yaitu == )
Penanda lebih besar >
Penanda lebih besar atau sama dengan >=
Penanda lebih kecil <
Penanda lebih kecil atau sama dengan <=
Penanda ketidaksamaan. Pada bahasa Pascal menggunakan tanda <> sedangkan pada bahasa C
menggunakan tanda !=
menggunakan tanda !=
5. Pointer Operator
Operator pointer digunakan untuk melakukan operasi pada operand yang berupa pointer. Pada
bahasa Pascal, digunakan tanda ^ sebagai deference pointer. Sedangkan pada bahasa C,
deference pointer menggunakan tanda asterisks *.
bahasa Pascal, digunakan tanda ^ sebagai deference pointer. Sedangkan pada bahasa C,
deference pointer menggunakan tanda asterisks *.
a. Tipe Data Sederhana
Tipe data digunakan untuk menentukan jenis nilai yang dapat ditampung oleh suatu variable.
Pada suatu bahasa pemrograman umumnya telah menyediakan tipe-tipe data yang sederhana
(simple)
maupun yang terstruktur Dan apabila kita membutuhkan tipe data yang belum tersedia, kita
dapat
mendefinisikan sendiri tipe data baru, yang disebut enumerated type.
Pada suatu bahasa pemrograman umumnya telah menyediakan tipe-tipe data yang sederhana
(simple)
maupun yang terstruktur Dan apabila kita membutuhkan tipe data yang belum tersedia, kita
dapat
mendefinisikan sendiri tipe data baru, yang disebut enumerated type.
Berikut adalah tipe data sederhana (simple) yang terdapat pada bahasa Pascal dan
bahasa C standar.
bahasa C standar.
b. Tipe Data Tersturktur
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. Berikut adalah contoh penggunaan
array:
elemen/komponen yang memiliki tipe data yang sama. Berikut adalah contoh penggunaan
array:
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. Berikut adalah contoh penggunaan record dan struct:
memiliki satu jenis atau lebih tipe data. Tiap element disebut juga field atau property atau
attribute. Berikut adalah contoh penggunaan record dan struct:
1. Expression
Yang dimaksud dengan expression (ekspresi) yaitu suatu pernyataan yang menghasilkan
suatu nilai. Expression tersusun dari operator dan operand yang digunakan untuk menghitung
atau memberi suatu nilai suatu variable atau identifier.
suatu nilai. Expression tersusun dari operator dan operand yang digunakan untuk menghitung
atau memberi suatu nilai suatu variable atau identifier.
1. Statement
Seperti yang telah disinggung di atas, statement merupakan bagian program yang berisi
perintah yang akan dieksekusi/dijalankan. Karena itu, statement-statement ini menentukan
bagaimana jalannya program dan bagaimana suatu nilai variable dimanipulasi/berubah.
Statement dapat dikelompokan menjadi antara lain:
perintah yang akan dieksekusi/dijalankan. Karena itu, statement-statement ini menentukan
bagaimana jalannya program dan bagaimana suatu nilai variable dimanipulasi/berubah.
Statement dapat dikelompokan menjadi antara lain:
1. Simple Statement
2. Compound Statement
3. Selection Statement
4. Iteration Statement
1.1. Simple Statement
Yang digolongkan ke dalam simple statement (statement sederhana) yaitu statement yang
tidak berisi statement lainnya, sbb
tidak berisi statement lainnya, sbb
1.1. Compound Statement
Compound statement (kumpulan statement) adalah sekumpulan statement yang terdiri dari
statement-statement
lain, termasuk juga iteration dan selection statement yang akan dibahas setelah ini. Pada bahasa Pascal,
kumpulan statement diawali oleh keywords begin dan ditutup oleh
statement-statement
lain, termasuk juga iteration dan selection statement yang akan dibahas setelah ini. Pada bahasa Pascal,
kumpulan statement diawali oleh keywords begin dan ditutup oleh
keywords end, sedangkan pada bahasa C, kumpulan statement akan diawali dan diakhiri oleh
tanda kurung kurawal { dan }. Berikut adalah contoh compound statement:
tanda kurung kurawal { dan }. Berikut adalah contoh compound statement:
4.3. Selection Statement
Melakukan pemeriksaan nilai / kondisi, yang kemudian akan memilih statement mana
yang akan dieksekusi. Statement ini terdiri dari 2 jenis aitu : if..then..else..
yang akan dieksekusi. Statement ini terdiri dari 2 jenis aitu : if..then..else..
Statement dan case / switch statement.
Berikut adalah cara penulisan section statement pada bahasa Pascal dan bahasa C
4.3.
Iteration Statement
Iteration Statement
Iteration statement digunakan untuk melakukan perulangan sekumpulan statement
(compound statement). Iteration statement pada bahasa Pascal dan C adalah sebagai berikut:
(compound statement). Iteration statement pada bahasa Pascal dan C adalah sebagai berikut:
4. 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.
lokasi yang berbeda di dalam program. Yang membedakan antara function dan procedure yaitu: suatu
function jika dijalankan/dipanggil akan mengembalikan suatu nilai.
Pada Bahasa C, semua subroutine adalah function. Apabila kita ingin membuat subroutine yang tidak
mengembalikan nilai, kita dapat memberi nilai kembalian berupa void.
mengembalikan nilai, kita dapat memberi nilai kembalian berupa void.
Ketika procedure atau function dipanggil, kita dapat melewatkan suatu nilai ke dalam
function atau procedure tersebut. Nilai yang dilewatkan disebut juga argument atau
parameter. Ada dua cara melewatkan nilai, yaitu:
function atau procedure tersebut. Nilai yang dilewatkan disebut juga argument atau
parameter. Ada dua cara melewatkan nilai, yaitu:
1. Passing by Value (Dilewatkan secara nilai)
2. Jika di dalam procedure atau function dilakukan perubahan nilai parameter yang
dilewatkan secara nilai, maka nilai parameter yang sebenarnya tidak ikut berubah,
hal ini dikarenakan parameter yang dilewatkan secara nilai akan dicopy sebagai
nilai local di procedure/function yang bersangkutan. Contoh pada bahasa Pascal (kiri) dan
C (kanan):
dilewatkan secara nilai, maka nilai parameter yang sebenarnya tidak ikut berubah,
hal ini dikarenakan parameter yang dilewatkan secara nilai akan dicopy sebagai
nilai local di procedure/function yang bersangkutan. Contoh pada bahasa Pascal (kiri) dan
C (kanan):
3. Passing by Reference Jika di dalam procedure atau function dilakukan perubahan nilai parameter yang dilewatkan secara reference, maka nilai parameter yang sebenarnya juga
akan berubah. Contoh:
Currently have 0 komentar: