Senin, 20 Maret 2017

B. Element Bahasa Pemrograman


Ketika kita mempelajari suatu bahasa pemrograman, kita akan menjumpai element-element yang pada dasarnya serupa antara satu bahasa dengan bahasa yang lain. Hal itu dikarenakan element-element tersebut merupakan bagian dari tata bahasa pemrograman yang bersangkutan. Berikut adalah element-element pada bahasa pemrograman: Aturan Leksikal, Tipe data, Expression, Statement, serta Function dan Procedure.

Aturan leksikal yaitu aturan yang digunakan dalam membentuk suatu deklarasi, definisi, maupun statement hingga menjadi satu program yangutuh. Aturan ini meliputi beberapa element antara lain:

Token
Komentar
Identifier
Keywords (Reserved Words)
Operator
Dibawah ini akan dibahas satu per satu element-element tersebut di atas.

a. Token
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. Token yang satu dengan yang lain
 dipisahkan dengan satu atau lebih spasi, tab, baris baru, atau komentar.

b. 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


begin
{ Cetak hello World Oleh Saya}

Writeln (‘Hello World’);

end.

Pada bahasa C, teks yang berada di antara tanda /* dan tanda */ akan dianggap sebagai komentar. Dan untuk teks yang ada setelah tanda //

void main() {
Cetak hello World
Oleh Saya
printf(“Hello World”);

}

c. Identifier
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:


sendiri maupun orang lain yang membaca kode program tersebut.
Pada bahasa Pascal, teks yang berada di antara kurung kurawal pembuka {dan kurung kurawal tutup } akan dianggap sebagai komentar. Selain itu, dapat pula menggunakan tanda (* sebagai pembuka komentar, dan tanda *) sebagai penutup. Perhatikan contoh program dibawah:
juga akan dianggap komentar satu baris. Berikut adalah contoh penggunaan komentar pada bahasa C:


A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Selanjutnya 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 seperti + - * / ? ! { } [ ] dan sebagainya. Berikut adalah contoh-contoh identifier yang benar maupun salah.


Tabel Identifier benar maupun salah

_nama Benar
no_Telpon Benar
bilangan2 Benar
4data Salah, karena diawali oleh karakter angka: 4data
teks? Salah, karena mengandung karakter khusus/special: Teks?


Catatan yang perlu diingat, identifier pada bahasa Pascal bersifat 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 pada bahasa C, dianggap sebagai dua identifier yang berbeda.


d. Keywords (Reserved Words) Keywords 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.Pada bahasa Pascal, yang termasuk reserved words 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 words 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 type def union void
unsigned while



C. Bahasa C++

Bahasa C++ diciptakan oleh Bjarne Stroustrup di AT&T Bell Laboratories awal tahun 1980-an berdasarkan C ANSI (American National Standard Institute). Pertama kali, prototype C++ muncul sebagai C yang dipercanggih dengan fasilitas kelas. Bahasa tersebut disebut C dengan kelas ( C wih class). Selama tahun 1983-1984, C dengan kelas disempurnakan dengan menambah fasilitas pembeban lebihan operator dan fungsi yang kemudian melahirkan apa yang disebut C++.

 Symbol ++ merupakan operator C untuk operasi penaikan, muncul untuk menunjukkan bahwa bahasa baru ini merupakan versi yang lebih canggih dari C.

Borland International merilis compiler Borland C++ dan Turbo C++. Kedua compiler tersebut sama-sama dapat digunakan untuk mlakukan kompilasi kode C++.

Bedanya, Borland C++ selain dapat digunakan dibawah lingkungan DOS, juga dapat digunakan untuk pemrograman Windows. Selain Borland International, beberapa perusahaan lain juga merilis compiler C++, seperti Topspeed C++ dan Zortech C++. Perhatikan dan bandingkan program dibawah ini:



#include <stdio.h>

int main()

{

double jam, besar, bayar;

printf ( "Berapa Jam Kamu bekerja? "); scanf ( jam);

printf ( "Berapa besar gaji tiap jamnya? "); scantf( besar);

bayar = jam * besar;

printf ("Kamu mendapatkan Gaji (Rp)", bayar << endl; return 0;

}

Program 1.4. Contoh program dalam bahasa C++

#include <iostream>

int main()
{
double jam, besar, bayar;

cout << "Berapa Jam Kamu bekerja? "; cin >> jam;

cout << "Berapa besar gaji tiap jamnya? "; cin >> besar;

bayar = jam * besar;

cout << "Kamu mendapatkan Gaji (Rp)" << bayar << endl; return 0;

}

C++ diciptakan untuk Oriented  Pragramming/OOP)  yang
mendukung pemrograman tidak   dimiliki   C.   sementara   C
berorientasi pada   objek (Object merupakan  bahasa  pemrograman

Bahasa Pemrograman Dasar-dasar Pemrograman Komputer



terbaik dilingkungannya, bahasa ini tidak memiliki kemampuan OOP. Reputasi C tidak diragukan lagi dalam menghasilkan program .EXE berukuran kecil, eksekusi yang cepat, antarmuka (interfacing) yang sederhana dengan bahasa lain dan fleksibilitas pemrograman. Apa yang membuat C tampak sukar dipelajari mungkin karena tiadanya pemeriksaan tipe. Sebagai contoh, dapat mencampur bilangan bulat dengan string untuk menghasilkan karakter. Namun, justru dsitu letak fleksibilitas C, dapat mengolah data C sebebas mengolah data dalam bahasa assembly.

Dibandingkan compiler C++ yang lain, Borland C++ memiliki keunggulan terutama dalam hal kecepatan dan efisiensi kompilasi. Disamping itu, Borland C++ mendukung beberapa sistem operasi yaitu DOS, Windows 16bit (Window 3.0) dan windows 32 bit (Windows NT). Meskipun demikian compiler Borland C++ juga memiliki kelemahan bila dibandingkan compiler C++ yang lain, misalnya : pemrograman dengan Borland C++ terutama yang menyangkut tampilan jauh lebih sulit daripada pemrograman dengan Microsoft Visual C++.


BY.  Fardian Ari H
NPM : 16.02.9491


Sumber: Buku Bahasa Pemrograman (karya Suprapto)


Belajar C++

A. Penulisan Bahasa pemrograman


Secara umum, bahasa pemrograman yang berbasiskan prosedur terdiri dari blok atau sub


program. Yang memiliki dua bagian utama yaitu: Bagian deklarasi dan Bagian Statement.



1. Bagian Deklarasi

Bagian deklarasi merupakan bagian program untuk mendefinisikan tipe data suatu variable, konstanta, serta fungsi dan prosedur yang akan digunakan pada program. Selain itu, bagian deklarasi dapat juga

Deklarasi Variable:

Perhatikan deklarasi antara dua

buah program yang berbeda. Dibawah ini merupakan deklarasi program yang digunakan oleh bahasa pascal dan bahasa C.
perhatikan perbedaan  antara  dua
bahasa tersebut.
Bahasa Pascal
Var I,i2 : Integer;
s : String;


Bahasa C

Int 1,12;

Char s[100];

Untuk mendeklarasikan variable pada Pascal, digunakan reserved

b. Deklarasi Konstanta:

Dalam melakukan deklarasi nilai konstanta atau nilai tetap, dilakukan dengan cara menulis const. perhatikan contoh penulisan program dibawah ini:


c. Deklarasi Tipe Data.

Perhatikan deklarasi antara kedua program antara C dan pascal




digunakan untuk memberi nilai awal suatu variable. Dengan kata lain, deklarasi digunakan untuk memperkenalkan suatu nama kepada Compiler program. Berikut contoh deklarasi:



word var, kemudian diikuti dengan nama variable (identifier) yang ingin digunakan, dan kemudian tipe data dari variable tersebut. Sedangkan pada C, deklarasi diawali dengan tipe data variable baru diikuti dengan nama variable (identifier) . Suatu identifier harus diawali oleh karakter bukan angka, tetapi tidak boleh mengandung karakter khusus seperti * , - + / \ = < > . ? & dan sebagainya. Pada bahasa Pascal, identifier tidak bersifat case sensitive, maksudnya, huruf besar ataupun huruf kecil dianggap sama. Sebaliknya pada Bahasa C, identifier bersifat case sensitive, sehingga variable s dan S akan dianggap dua identifier yang berbeda.



const phi = 3.14;

Konstanta yaitu nilai yang tetap. Jadi jika mengacu pada contoh di atas, maka nilai phi tidak dapat diubah-ubah dan akan selalu 3.14


seperti terlihat dibawah ini:






Bahasa C struct datasiswa {

char nama[30]; char alamat[30]; char telp[20];

}

enum hari = (senin,selasa,rabu,kamis,jumat,Sabtu,mingu);

Bahasa Pascal

Type Tdatasiswa = ^dataSiswa

Datasiswa = record
Nama : String[30];

Alamat : String[30];

Telp : String[20];

end;

type hari = (senin,selasa,rabu,kamis,jumat,Sabtu,mingu);


a) Tipe Data sederhana
Tipe data sederhana merupakan tipe data yang paling kecil, yang hanya melibatkan satu item data, misalnya tipe data integer, string, real, Boolean, dan sebagainya. Kita dapat juga mendefinisikan sendiri tipe data ini. Tipe data yang didefinisikan sendiri tersebut diistilahkan enumerated data type (pada contoh adalah type hari).

b) Tipe Data terstruktur
Tipe data terstruktur merupakan tipe data yang terdiri dari beberapa item data. Bentuk dari tipe data ini dapat berupa array (terdiri dari item-item yang memiliki tipe data yang sama) ataupun record (terdiri dari item-item yang boleh memiliki tipe



d. Deklarasi Procedure/Function: Untuk membahas masalah

procedure pada bahasa Pascal dan


data yang berbeda). Pada contoh di atas, DataSiswa termasuk tipe data terstruktur.

c) Tipe Data Pointer
Tipe data pointer digunakan untuk menunjuk pada alamat memory suatu data yang lain. Jadi tipe data pointer pada dasarnya tidak menyimpan nilai data secara langsung, melainkan hanya menyimpan alamat dimana data berada. Untuk contoh pada bahasa Pascal, TDataSiswa merupakan tipe data pointer. Pada Bahasa C, untuk mendeklarasikan pointer untuk tipe data DataSiswa pada variable yang bernama TDataSiswa, dapat dituliskan sebagai berikut:

DataSiswa *TDataSiswa;



funsi pada C Perhatikan potongan program dibawah ini:



Pada bahasa pascal procedure cetak (kal: string);
function Tambah (a,b: integer): Integer;

Pada bahasa C

void cetak (char 8string); int Tambah (int a, int b);


Jika melihat pada contoh deklarasi pada bahasa C, mungkin timbul pertanyaan apa beda prosedur dengan fungsi? Pada Bahasa C, semua sub program dianggap fungsi, berbeda dengan Pascal yang menyertakan reserved word procedure dan function untuk membedakan antara keduanya. Sebenarnya, perbedaan utama antara prosedur dan fungsi yaitu: prosedur adalah fungsi yang tidak
 mengembalikan suatu nilai. Sebaliknya fungsi adalah suatu prosedur yang mengembalikan nilai.

Apabila mengacu pada contoh di atas, maka fungsi tambah akan mengembalikan suatu nilai yang bertipe integer, sedangkan prosedur Cetak tidak mengembalikan nilai apa-apa. Pada Bahasa C, procedure pada dasarnya adalah function yang mengembalikan void alias tidak mengembalikan nilai apa-apa.


2. Statement

Bagian statement merupakan bagian program yang berisi perintah yang akan dieksekusi /dijalankan. Pada bahasa Pascal, bagian statement selalu diawali dengan reserved word begin dan end. Apabila blok statement adalah blok utama program, maka reserved word end harus diakhiri dengan tanda titik(.), sebaliknya jika blok statement

Program 1.2

#include <stdio.h>

void main()

{

const phi = 3.24;

float diameter,radius,luas; scanf ("%f", &diameter); radius = diameter/2.0; luas = phi * radius * radius; printf ("%f",Luas);

}



bukan blok utama program maka reserved word end diakhiri dengan tanda titik koma (;). Sebaliknya pada bahasa C, dimulai dari deklarasi variable hingga akhir statement diawali dan diakhiri dengan tanda kurung kurawal { dan }. Berikut adalah contoh potongan kode untuk implementasi menghitung luas lingkaran dengan Bahasa.





Berikut adalah penjelasan baris demi baris dari potongan kode Bahasa C untuk contoh di atas.

#include <stdio.h>
Baris di awal program ini mengincludekan header library stdio ke dalam program. Seperti halnya Pascal, Bahasa C juga memiliki cukup banyak library standar yang dapat digunakan.
void main()
Baris kedua ini menandakan awal dari blok statement utama. Pada bahasa C, blok program utama merupakan suatu fungsi/sub program yang diberi nama ‘main’.

{ const phi = 3.14;
Pada awal baris ketiga ini, terdapat tanda kurung kurawal sebagai pembuka blok statement. Kemudian reserved word const digunakan untuk mendeklarasikan konstanta phi.



        float diameter, radius, Luas;

Baris keempat ini digunakan untuk mendeklarasikan variable diameter, radius, dan luas dengan tipe data float (bilangan pecahan)
scanf(“%f”, &diameter);
Baris kelima berisi perintah yang berfungsi untuk meminta input bertipe float dari user, dan kemudian nilainya disimpan ke variable diameter.

radius = diameter / 2.0;
Luas = phi * radius * radius;
Baris keenam dan ketujuh melakukan operasi matematika untuk menghitung luas lingkaran.
printf(“%f”,Luas);
Baris ini digunakan untuk mencetak isi variable luas yang bertipe float.
}
Baris ini menandakan akhir dari blok statement.


BY.  Fardian Ari H
NPM: 16.02.9491




Sumber: Buku Bahasa Pemrograman (karya:Suprapto)