| pemrograman / programming : adalah pekerjaan penulisan instruksi bagi komputer untuk menyelesaikan suatu masalah
program : adalah himpunan instruksi yang diperuntukkan bagi komputer, untuk menyelesaikan masalah yang diberikan.
interpreter : menerjemahkan perintah baris demi baris dan langsung melaksanakannya contoh : BASIC
compiler : menerjemahkan dulu seluruh perintah dalam bahasa mesin. baru kemudian terjemahan tersebut dijalankan oleh komputer contoh : FORTRAN, C , dan PASCAL.
sejarah singkat bahasa PASCAL bahasa PASCAL pertama kali dikembangkan pada awal tahun 70-an oleh niclaus wirth di technical university, zurich-swiss. nama PASCAL diambil dari nama seorang ahli matematka bangsa Perancis, yaitu bleise pascal yang telah berjasa menemukan alat hitung mekanis pertama didunia pada abad ke - 17. bahasa pemrograman ini termasuk kategori "high level language". instruksi-instruksi yang digunakan dalam bahasa pemrograman ini sangat sistematis dan terstruktur. pada awalnya bahasa pemrograman ini diperkenalkan dengan tujuan untuk menjelaskan masalah pemrograman komputer bagi mahasiswa yang belajar bahasa pemrograman komputer. ternyata singkat waktu, bahasa pemrograman ini menjadi salah satu bahasa yang sangat populer dikalangan universitas, sehingga menjadi julukan sebagai bahasa universitas. mulai dari awal perkembangannya hingga saat ini banyak sekali jenis bahasa pemrograman ini, masing-masing merupakan hasil pengembangannya, antara lain: - UCSD pascal - Microsoft pascal - Apple pascal - Turbo pascal diantara versi-versi yang ada, turbo pascal versi yang sangat populer saat ini.
struktur dan komponen dasar program pascal struktur dari suatu program pascal terdiri dari sebuah judul program dan suatu blok program atau badan program. blok program dibagi lagi menjadi dua bagian : yaitu bagian deklarasi dan bagian pernyataan(statement).
struktur program judul program -> PROGRAM nama-program; blok program bagian deklarasi - deklarasi label -> LABEL nama-label; - deklarasi konstanta -> CONST........; - deklarasi tipe -> TYPE........; - deklarasi variabel -> VAR .......; - deklarasi prosedur -> PROCEDURE nama-procedur; .............................; Bagian pernyataan Begin (statement) .............; .............; end.
contoh : menghitung luas bidang berbentuk empat persegi panjang dengan panjang P dan lebar L
output:
judul program sifatnya adalah optional, dan bila ditulis, harus terletak pada awal dari program dan diakhiri dengan titik koma.
bagian deklarasi digunakan bila di dalam program digunakan pengenal (identifier). identifier dapat berupa label , konstanta, tipe, variable, prosedur dan fungsi. kalau suatu program menggunakan identifier, pascal menuntut supaya identifier tersebut diperkenalkan terlebih dahulu sebelum digunakan, yaitu dideklarasikan terlebih dahulu pada bagian ini.
beberapa aturan dalam program pascal - akhir sebuah program pascal ditandai dengan titik. setelah END yang paling akhir.
- tanda titik koma merupakan pemisah antar instruksi satu dengan yang lain.
- beberapa statement boleh ditulis menjadi satu baris dipisahkan dengan tanda baca titik koma
contoh : simpan := akhir; akhir := simpan + awal; - baris komentar diletakkan diantara tanda (* dab *) atau diantara tanda { dan }
contoh : Var rerata : real; Nil1 : real;
statement (pernyataan) adalah instruksi atau gabungan instruksi, yang menyebabkan komputer melakukan aksi. type statement dalam Pascal terdiri atas : 1. sederhana : - menandai sebuah item data kesebuah variable(assigment statement) contoh : X:=Y*4.135 - pemanggilan procedure dan goto statement
2. terstruktur - Compound Statement contoh : Begin read(x); y:= x + 5; write(y) End.
- repetitive statement contoh : For I:=1 to 100 do write(count);
- conditional statement contoh : if x > 100 then write(s) else write(p);
komponen dasar program pascal pola susun bahasa Pascal dibentuk dengan menggunkaan komponen bahasa pemrograman yang umum yaitu: 1. simbol dasar 2. reserved word(kata pasti) 3. identifier(penyebut)
1. simbol dasar 1. simbol huruf, yaitu A sampai dengan Z atau a sampai dengan z. 2. simbol angka atau digit yaitu: 0,1,2,3,4,5,6,7,8,9 3. simbol khusus yaitu: + - * / := , ' = < > <= >= < > : { } ( ) [ ]
2. reserved word adalah suatu kata yang secara mutlak tidak boleh diartikan lain dan harus digunakan sebagaimana yang telah didefinisikan atau ditentukan kegunaannya oleh bahasa pascal. reserved word ini tidak boleh didefinisikan ulang oleh pemakai, sehingga tidak dapat dipergunakan sebagai pengenal
reserved word ini jumlahnya berbeda untuk masing-masing bahasa pascal
contoh beberapa reserved word yang telah didefinisikan oleh bahasa pascal antara lain
AND ARRAY BEGIN CASE CONST DO DOWNTO ELSE END FUNCTION FOR GOTO IF IN LABEL OF OR PROCEDURE PROGRAM RECORD REPEAT SET TYPE UNTIL VAR WHILE WITH dsb
3. identifier merupakan sebuah kata yang digunakan sebagai nama atau sebutan terhadap sesuatu didalam program. pemakai dapat mendefinisikan sendiri suatu nama sebagai identifier.
identifier terdiri atas: 1. identifier standar, yaitu yang telah didefinisikan oleh bahasa pascal
ABS ARCTAN BOOLEAN CHAR CHR COS EOF EOLN EXP LN ODB PRED ROUND READ READLN SQR SQRT SUCC
dan masih banyak lagi 1. identifier non standar; yaitu identifier yang didefinisikan oleh pemakai bahasa local - nama suatu program - nama suatu konstanta - nama suatu varible - nama suatu procedure
identifier ini bebas, tetapi dengan ketentuan-ketentuan sebagai berikut: 1. terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. huruf besar dan kecil dianggap sama 2. tidak boleh mengandung blank 3. tidak boleh mengandung simbol-simbol khusus, kecuali garis bawah
jenis-jenis data jenis data yang standar yaitu: - integer - real - karakter - boolean - enumerated - sub range jenis data terstruktur yaitu jenis data pointer yaitu: - array - record - set - file
integer jenis data ini terdiri atas integer positif, integer negatif dan nol. merupakan nilai bilangan bulat pada turbo pascal jenis data ini dibagi atas beberapa bagian,yaitu : | tipe | ukuran memori dalam byte | jangkauan nilai | | BYTE | 1 | 0..255 | | SHORTINT | 1 | -128..127 | | INTEGER | 2 | -32768..32767 | | WORD | 2 | 0..65535 | | LONGINT | 4 | -2147483648..2147483647 |
operator integer terdiri atas: + , - , * , / , DIV dan MOD
contoh output
real penulisan untuk jenis data ini selalu menggunakan titik desimal. nilai konstanta numerik real berkisar dari 1E - 38 sampai dengan 1E + 38 dengan mantissa yang signifikan sampai dengan 11 digit. E menunjukkan nilai 10 pangkat. nilai konstanta numerik real menempati memori sebesar 6 byte.
contoh 123.45 12345. -> salah desimal tidak boleh dibelakang 12E5 12E+5 -12.34 .1234 -> salah titik desimal tidak boleh dimuka
pada turbo pascal, jenis data ini dibedakan atas :
| tipe | ukuran memori | jangkauan nilai | digit signifikan | | SINGLE | 4 | 1.5x10E-45..304x10E38 | 7-8 | | DOUBLE | 8 | 5.0x10E-324..1.7x10E308 | 15-16 | | EXTENDED | 10 | 1.9x10E-4951..1.1x10E4932 | 19-20 | | COMP | 8 | -2E+63+1..2E+63-1 | 19-20 |
operator untuk jenis data ini terdiri atas : + , - , * dan /
karakter yang dimaksud jenis data ini adalah karakter tunggal atau sebuah karakter yang ditulis diantara tanda petik tunggal, seperti 'A' , 'a' , '!' , '5' dsb.
string nilai data string merupakan urut-urutan dari karakter yang terletak di antara tanda petik tunggal. nilai data string akan menempati memori sebesar banyaknya karakter stringnya ditambah dengan 1 byte. bila panjang dari suatu string di dalam deklarasi varible tidak disebutkan , maka dianggap panjangnya adalah 255 karakter.
contoh :
output:
boolean jenis data ini mempunyai nilai TRUE atau FALSE. operatr untuk jenis data ini adlaah: 1. logical operator, yaitu : NOT,AND dan OR 2. relational operator, yaitu : > , < , >= , <= , <> dan =
jenis data non-standard(user defined) 1. enumerated jenis data ini terdiri atas barisan identifier yang terurut dimana setiap identifier tersebut dianggap sebagai suatu individual data item(elemen data yang terdiri sendiri). pada saat mendeklarasikan jenis data ini kita harus menuliskan semua elemen-elemennya. bentuk umum deklarasinya adalah: TYPE nama = (data_item1,data_item2,... , data_itemn);
contoh : TYPE hari = (senin,selasa,rabu,kamis,jumat,sabtu,minggu); TYPE wana = (red,blue,green,yellow,black,white);
setelah jenis data ini dideklarasikan, maka selanjutnya kita dapat mendeklarasikan suatu variable yang berjenis data sama dengan jenis data ini. misalnya :
TYPE nama_hari = (sen,sel,rab,kam,jum,sab,ming); Var libur : nama_hari;
fungsi standar yang dapat digunakan pada jenis data ini adalah: PRED,SUCC dan ORD
misalnya: PRED(sel) = sen SUCC(sen) = sel ORD(sen)=0 ORD(sel)=1
2. sub-range jenis data ini berupa range dari suatu kumpulan data yang mempunyai urutan.. bentuk umum deklarasinya adalah: TYPE nama = data_item_pertama .. data_item_terakhir;
contoh : TYPE jam_kuliah = 1..10; tanggal = 1..31 abjad = 'A'..'Z'; TYPE bulan=(jan,feb,mar,apr,mei,jun,jul,agt,sep,okt,nov,des); hari = (sen,sel,rab,kam,jum,sab,ming); ata = agt..jan; pta = feb..jun; hari_kerja = sen..jum;
tanda operasi tanda operasi(operator) di dalam bahasa pascal dikelompokkan ke dalam 9 kategori, yaitu - assignment operator. - binary operator - unary operator - bitwise operator - relational operator - logical operator - address operator - set operator - string operator
assignment operator menggunakan simbol titik dua diikuti dengan tanda sama dengan (:=) contoh : A:=B;
binary operator digunakan untuk mengoperasikan dua buah operand. operand dapat berbentuk konstanta ataupun variable. operator ini digunakan untuk operasi aritmatika yang berhubungan dengan nilai tipe data integer dan real.
| operator | operasi | tipe operand | tipe hasil | | * | perkalian | real,real integer,integer real,integer | real integer real | | div | pembagian bulat | integer,integer | integer | | / | pembagian real | real,real integer,integer real,integer | real real real
| | mod | sisa pembagian | integer,integer | integer | | + | pertambahan | real,real integer,integer real,integer | real integer real | | - | pengurangan | real,real integer,integer real,real | real integer real |
contoh :
15*5 hasilnya 75 20/3 hasilnya 6.666666667E+00 20 div 3 hasilnya 6 20 mod 3 nilainya 2
unary operator operator ini hanya menggunakn sebuah operand saja. dapat berupa unary minus dan unary plus. unary minus digunakan untuk menunjukkan nilai negatif, baik pada operand numerik real maupun integer. unary plus adalah operator untuk memberi tanda plus
contoh : -5 +7 -2.5 +2.5
bitwise operator digunakan untuk operasi bit per bit pada nilai integer. terdiri dari operator NOT , AND , OR , XOR , shi , shr.
relational operator digunakan untuk membandingkan hubungan antara dua buah operand dan akan didapatkan hasil tipe boolean, yaitu TRUE atau FALSE terdiri dari operator : = , < , > , <= , >= , <>
logical operator terdapat 4 buah logical operator yaitu : NOT , AND , OR dan XOR. operator ini bekerja dnegan nilai-nilai logika yaitu True dan False
set operator digunakan untuk operasi himpunan
sting operator digunakan untuk operasi string. hanya ada sebuah operator string saja, yaitu operator + yang digunakn untuk menggabungkan dua buah nilai string
contoh :
Nama1 := 'Ramadhan'; nama2 := 'Redmond'; Nama3 := Nama1 + Nama2;
konstanta, variabel dan ekspresi konstanta konstanta adalah suatu identifier non-standar yang nilainya telah ditetapkan dalam suatu program dan dideklarasikan pada bagian deklarasi. bagian umum deklarasinya adalah: CONST identifier = nilai; contoh : CONST phi = 3.14; x = 2; y = 'S';
varibel variabel adalah suatu identifier non-standar yang nilainya tidak tetap atau nilainya merupakan hasil dari suatu proses. (variabel yang dimaksudkan disini sama seperti halnya arti variabel pada aljabar). bentuk umum deklarasinya adalah:
jika hanya 1(satu) variabel yang dideklarasikan : VAR identifier : jenis data;
jika lebih dari 1(satu) variabel dan masing-masing memiliki jenis data yang sama: VAR id-1,id-2 ... ,id-3 : jenis data;
jika beberapa variabel yang berbeda jenis datanya : VAR identifier-1 : jenis data; identifier-2 : jenis data; . . . identifier-n : jenis data;
jika variabel yang dideklarasikan berjenis data non-standar : TYPE id = (data_item_1, data_item_2, .. , data_item_n; VAR id-v : id;
SUB-RANGE: TYPE id = data_item_pertama .. data_item_terakhir; VAR id-v : id;
contoh :
VAR x :integer; VAR p,q,r : real; VAR a,b : char; m,n : boolean;
TYPE warna = (merah,hitam,biru,putih,kuning); VAR x1,x2 : warna;
TYPE tahun = 1990 .. 1993; VAR thn-1,thn-2,thn-3 : tahun;
ekspresi sebuah ekspresi merupakan kkumpulan dari operand-operand ( seperti : bilangan , konstanta , variabel dll) bersama-sama dengan operator membentuk suatu bentuk aljabar dan menyatakan suatu nilai.
ada dua jenis ekspresi dalam bahasa pascal , yaitu: 1. ekspresi numerik/aritmatika yaitu suatu ekspresi yang menghasilkan nilai numerik/aritmatika 2. ekspresi boolean atau ekspresi logika, yaitu suatu ekspresi yang menghasilkan nilai boolean / logika (true/false).
contoh : 1. (b*b-4*a*c)/(2*a)/(2*a) ekspresi numerik, jika a,b,dan c adalah bilangan(variable bernilai numerik) 2. upah < 1000.0 ekspresi boolean("upah" adalah suatu varibel bernilai real).
input dan output(standar I/O) dalam bahasa pascal untuk keperluan input(membaca input) digunakan identifier standar READ atau READLN. identifier standar READLN sedikit berbeda dengan READ. readln digunakan untuk memasukkan data perbaris, artinya setelah tomboh enter ditekan, maka akan ganti baris, sedangkan read tidak ganti baris, masih dalam baris yang sama. sedangkan untuk keperluan output(mencetak ouput) digunakan standar WRITE dab WRITELN. perbedaan write dengan writeln adalah bahwa write menampilkan hasil tanpa ganti baris dan tampilan berikutnya akan disambung dalam baris yang sama. sedangkan writeln digunkan untuk menampilkan tampilan perbaris, akan ganti baris untuk tampilan berikutnya.
bentuk umum penulisannya: READ (variabel input); atau READLN(variabel ouput);
WRITE(variabel input); atau WRITELN(variabel output);
contoh
Var nama:string{15}; begin nama:='Ramadhan'; write('nama'); End.
hasilnya : nama : Ramadhan
|