Sunday, November 21, 2010

Pemrograman Pascal [1]

Pengenalan Bahasa Pascal

Variabel, Konstanta, dan Tipe data

Pascal adalah bahasa tingkat tinggi (high level language) yang orientasinya pada segala tujuan, dirancang oleh Profesor Niklaus Wirth dari Technical University di Zurich, Switzerland. Nama Pascal diambil sebagai penghargaan terhadap Blaise Pascal, ahli matematik dan philosophi terkenal abad 17 dari Perancis. Profersor Niklaus Wirth memperkenalkan kompiler bahasa Pascal pertama kali untuk komputer CDC 6000 (Control Data Corporation) yang dipublikasikan pada tahun 1971 dengan tujuan untuk mengajar program komputer secara sistematis, khususnya untuk memperkenalkan bahasa pemrograman yang terstruktur (structured programming). Jadi Pascal adalah bahasa yang ditujukan untuk membuat program terstruktur.

Struktur Program Pascal

Struktur dari suatu program Pascal terdiri dari sebuah dan suatu blok program (block program) atau badan program (body program).
  1. Judul prorgam (program heading)
  2. Blok program dibagi lagi menjadi dua bagian, yaitu
<!--[if !supportLists]-->a. <!--[endif]-->bagian deklarasi (declaration part). Bagian deklarasi dapat terdiri dari
<!--[if !supportLists]-->- <!--[endif]-->deklarasi label (label declaration),
<!--[if !supportLists]-->- <!--[endif]-->deklarasi konstanta (constant declaration),
<!--[if !supportLists]-->- <!--[endif]-->deklarasi tipe (type declaration),
<!--[if !supportLists]-->- <!--[endif]-->deklarasi variabel (variabel declaration),
<!--[if !supportLists]-->- <!--[endif]-->deklarasi prosedur (procedure declaration) dan
<!--[if !supportLists]-->- <!--[endif]-->deklarasi fungsi (function declaration).
<!--[if !supportLists]-->b. <!--[endif]-->Bagian pernyataan (statement part)

Program Pascal Sederhana

Program berikut ini adalah program Pascal yang sederhana yang bertujuan untuk mencetak kalimat Hello World pada layar. Pada bagian kiri program terdapat angka yang menunjukkan baris program. Angka ini akan digunakan untuk menjelaskan makna dari penulisan tersebut. Bagian tersebut bukan merupakan bagian dari struktur program sehingga tidak perlu ditulis pada saat membuat program.
<!--[if !supportLists]-->1.  <!--[endif]-->program tutorial1; uses crt;
<!--[if !supportLists]-->2.  <!--[endif]-->var
<!--[if !supportLists]-->3.  a: string;
<!--[if !supportLists]-->4.  <!--[endif]-->begin
<!--[if !supportLists]-->5.  <!--[endif]-->a := 'Selamat Datang Pascal';
<!--[if !supportLists]-->6.  <!--[endif]-->writeln(a);
<!--[if !supportLists]-->7.  <!--[endif]-->end.
Berikut penjelasan dari setiap baris program diatas,
<!--[if !supportLists]-->1)     <!--[endif]-->Baris ini merupakan nama program, dan klausa program (uses).
Uses adalah sintak program yang digunakan untuk memanggil library atau *unit*. Crt adalah adalah salah satu library yang paling banyak digunakan didalam program Pascal. Masih banyak lagi libray yang disediakan oleh program pascal. Dengan library ini Compiler dapat mengetahui library yang diperlukan.
<!--[if !supportLists]-->2)     <!--[endif]-->var adalah bagian awal dari blok program. Bagian ini memberitahukan compiler bahwa ada variabel yang akan didefinisikan.
<!--[if !supportLists]-->3)     a adalah nama dari sebuah variabel. Variabel tersebut dideklarasikan dengan tipe string. 
<!--[if !supportLists]-->4)     <!--[endif]-->begin adalah sintak yang menunjukkan awal dari sebuah blok kode program
<!--[if !supportLists]-->5)     <!--[endif]-->adalah perintah program. 
<!--[if !supportLists]-->6)     <!--[endif]-->Adalah perintah untuk mencetak. Perintah-perintah program ini akan dijelaskan nanti. 
<!--[if !supportLists]-->7)     <!--[endif]-->end adalah akhir dari sebuah blok program.

Variabel

Variabel adalah identifier yang digunakan untuk menyimpan suatu nilai. Berbeda dengan konstanta, nilai sebuah variabel dapat berubah pada saat program dijalankan (run time). Sintak dari variabel adalah sebagai berikut :
var
IdentifierList1 : tipedata1;
IdentifierList2 : tipedata2;
IdentifierList3 : tipedata3;
 ...
IdentifierList dengan tipe data yang sama dapat ditulis dalam satu baris. Untuk memisahkan variabel yang berbeda tersebut, digunakan tanda koma ( , ).
Tipe data yang dapat digunakan untuk variabel antara lain :
<!--[if !supportLists]-->- <!--[endif]-->Integer : adalah bilangan bulat, dengan kisaran nilai antara –32768 sampai 32767
<!--[if !supportLists]-->- <!--[endif]-->Real : adalah bilngan desimal, dengan kisaran 3.4x10-38 sampai 3.4x1038. Tipe data real dapat ditulis dengan notasi fixed-point atau notasi scientific. Sebagai contoh 452.13 dapat ditulis dengan 4.5213e2.
<!--[if !supportLists]-->- <!--[endif]-->Char : adalah bagian dari tipe data karakter. Sebagai contoh ‘a’, ‘1’, ‘+’ dan lain-lain. Tipe data ini harus menggunakan tanda kutip ( ‘ ).
<!--[if !supportLists]-->- <!--[endif]-->Boolean : adalah tipe data yang hanya bernilai benar (true) atau salah (false)
Berikut contoh beberapa deklarasi variabel :
 var
 umur, tahun, tingkat : integer;
 IPK : real;
 Huruf_mutu : char;
 Status : Boolean;

Contoh Pembuatan Listing Program

  1. Jalankan Program Turbo Pascal.
  2. Klik File > New
  3. Ketikkan kode program dibawah ini :
<!--[if !supportLists]-->1. <!--[endif]-->program tutorial1; uses crt;
<!--[if !supportLists]-->2. <!--[endif]-->var
<!--[if !supportLists]-->3. <!--[endif]-->kalimat: string;
<!--[if !supportLists]-->4. <!--[endif]-->begin
<!--[if !supportLists]-->5. <!--[endif]-->kalimat := 'Selamat datang pascal';
<!--[if !supportLists]-->6. <!--[endif]-->writeln(kalimat);
<!--[if !supportLists]-->7. <!--[endif]-->end.
  1. Simpan program dengan nama Tutorial1.pas kedalam folder yang telah dibuat sebelumnya.
  2. Klik Run à Run atau CTRL – F9
  3. Klik Debug à Output untuk melihat hasil keluarannya di layar.
  4. Klik Compile à Compile untuk mengkompilasi program
  5. Jalankan program Tutorial1.exe

Pemberian Nilai

Variabel adalah salah satu identifier yang dapat menyimpan nilai. Pemberian nilai kedalam sebuah variabel disebut dengan assignment (pemberian nilai). Untuk pemberian nilai tersebut dapat dilakukan dengan menggunakan sintak berikut :
variable_name := expression;
Tidak seperti bahasa pemrograman lainnya, untuk pemberian nilai, Pascal menggunakan tanda titik dua diikuiti dengan tanda sama dengan ( := ).
Nilai yang diberikan kepada sebuah variabel dapat berupa nilai tunggal (single value) atau berupa beberapa nilai (arithmetic sequence)
x := 385.385837;
x := 37573.5 * 37593 + 385.8 / 367.1;
Operasi matematika akan menghasilkan nilai integer jika seluruh operand pada operasi tersebut bertipe integer. Jika salah satu operand bertipe real maka hasil operasi tersebut akan bertipe real, sebagai contoh :
3857 + 68348 * 38 div 56834, akan menghasilkan bilangan dengan tipe real, sedangkan bila operasinya sebagai berikut :
38573 div 34739 mod 372 + 35730 - 38834 + 1.1 , maka akan menghasilkan bilangan real.
Setiap variabel harus diberi nilai yang sesuai dengan tipe variabelnya. Misalnya Anda tidak dapat memberi nilai integer terhadap sebuah variabel yang bertipe real, akan tetapi untuk beberapa kasus tipe data, pemberian nilai yang berbeda tipe dengan deklarasi tipe datanya dapat dilakukan. Sebagai contoh sebuah nilai dengan tipe data yang berbeda namun memiliki kisaran nilai yang lebih kecil dari kisaran tipe data variabelnya dapat dilakukan. Biasanya hal ini sering dilakukan pada saat memberikan nilai integer ke sebuah variabel bertipe real.

Latihan 1

<!--[if !supportLists]-->1. <!--[endif]-->program latihan_1;
<!--[if !supportLists]-->2. <!--[endif]-->var
<!--[if !supportLists]-->3. <!--[endif]-->b1, b2: integer;
<!--[if !supportLists]-->4. <!--[endif]-->h: integer;
<!--[if !supportLists]-->5. <!--[endif]-->begin
<!--[if !supportLists]-->6. <!--[endif]-->b1 := 3; {pemberian nilai ke variabel bilangan1}
<!--[if !supportLists]-->7. <!--[endif]-->b2 := b1 * 2; {mengalikan bilangan1 dengan 2}
<!--[if !supportLists]-->8. <!--[endif]-->b1 := b2 - 5;
<!--[if !supportLists]-->9. <!--[endif]-->h := b1 + b2;
<!--[if !supportLists]-->10. <!--[endif]-->end.

Konstanta

Konstanta juga merupakan salah satu identifier. Sebuah konstanta dapat diberi nilai atau ditetapkan pada awal sebuah program. Nilai yang disimpan pada sebuah konstanta tidak dapat diubah.

Sintak penulisan konstanta adalah sebagai berikut :

const

Identifier1 = nilai;

Identifier2 = nilai;

Identifier3 = nilai ;

Pada contoh tersebut nilai tipe data yang diberikan antara lain bertipe string, karakter, integer, real dan boolean. Tipe-tipe data ini akan dijelaskan lebih lanjut.

Latihan 2
<!--[if !supportLists]-->1. <!--[endif]-->program latihan_2;
<!--[if !supportLists]-->2. <!--[endif]-->var
<!--[if !supportLists]-->3. <!--[endif]-->kalimat: string;
<!--[if !supportLists]-->4. <!--[endif]-->begin
<!--[if !supportLists]-->5. <!--[endif]-->write('Masukkan kalimat, setelah itu tekan ENTER: ');
<!--[if !supportLists]-->6. <!--[endif]-->readln(kalimat);
<!--[if !supportLists]-->7. <!--[endif]-->writeln('Kalimat yang Anda tuliskan adalah: ', kalimat);
<!--[if !supportLists]-->8. <!--[endif]-->end.

Mendebug program

  1. Jalankan Program Turbo Pascal
  2. Klik File > Open atau tekan F2 untuk membuka file
  3. Buka file Tutorial2.pas
  4. Klik Run > Step Over atau tekan F8 untuk melakukan tracing (penelusuran).
  5. Klik Debug > Watch
  6. Tekan Insert untuk memasukkan ekspresi yang akan diperiksa keluarannya.
  7. Masukkan variabel Bilangan1.
  8. Tekan F8 untuk setiap pernyataan program
  9. Lihat hasil eksekusi pernyataan pada layar Watch
  10. Tambahkan ekspresi pada layar Watch
  11. Tekan insert
  12. Masukkan variabel Bilangan2, setelah itu tekan F8 dan lihat hasilnya pada layar Watch.
  13. Masukkan variabel lainnya kedalam layar watch.
Identifiers
Identifiers adalah nama yang digunakan untuk menyimpan nilai pada variabel dan konstanta. Judul atau nama program pun disebut dengan identifier. Ada beberapa aturan yang berlaku untuk membuat identifier :
<!--[if !supportLists]-->1. <!--[endif]-->Harus diawali dengan huruf alfabet
<!--[if !supportLists]-->2. <!--[endif]-->huruf berikutnya dapat berupa karakter alphanumerik. Karakter alfabet atau underscore ( _ )
<!--[if !supportLists]-->3. <!--[endif]-->Tidak boleh mengandung karakter berikut :
~ ! @ # $ % ^ & * ( ) _ + ` - = { } [ ] : " ; ' < > ? , . / | \
<!--[if !supportLists]-->4. <!--[endif]-->Beberapa identifier yang sudah digunakan Pascal, sehingga tidak boleh lagi digunakan sebagai identifier adalah sebagai berikut :
and array 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 then to type
until var while with
<!--[if !supportLists]-->5. <!--[endif]-->Pascal juga memiliki pre-defined identifiers, sehingga kata-kata ini pun tidak bisa digunakan untuk identifier, yaitu :
abs arctan boolean char cos dispose eof eoln
exp false input integer ln maxint new odd
ord output pack page pred read readln real
reset rewrite round sin sqr sqrt succ text
true trunc write writeln
<!--[if !supportLists]-->6. <!--[endif]-->Perlu diketahui juga bahwa identifier pada Pascal tida case sensitive, artinya identifier 'LATIHAN' akan sama dengan 'latihan' atau 'Latihan'
<!--[if !supportLists]-->7. <!--[endif]-->Maksimun panjang karakter identifiers adalah 15 karakter.
Tipe Data Bentukan (Enumerated Data Type)
Selain Pascal sudah mendefinisikan tipe data, pengguna dapat juga mendefinisikan sendiri tipe data. Caranya adalah dengan mendeklarasikan TYPE pada program. Sintak yang dapat digunakan untuk mendefinisilkan TYPE adalah sebagai berikut :
type
datatypeidentifier = typespecification;
Format typespecification adalah :
(identifier1, identifier2, ... identifiern)
Sebagai contoh tipe data bentukan untuk mendefinisikan nama bulan satu tahun. Perhatikan contoh berikut
type
 MonthType = (January, February, March, April, May, June,
 July, August, September, October, November,
 December);
Setelah mendeklarasikan tipe maka tipe data bentukan itu dapat digunakan untuk variabel, seperti dibawah ini :
var
Month : MonthType;
Pengguna juga dapat memberikan nilai dari data bentukan tersebut terhdap variabel yang didefinisikan.
Month := January;
Fungsi ordinal juga dapat digunakan untuk tipe data bentukan, seperti pernyataan berikut:
ord(January) = 0, and ord(December) = 11.
Kelemahan tipe data bentukan adalah tidak dapat dibaca ataupun ditulis langsung ke sebuah file. Data tersebut harus dikonversi terlebih dahulu kedalam tipe data bentukan. Selain itu juga tipe data bentukan tidak dapat digunakan untuk tipe data yang lainnya.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.