Di Fakultas Informatika yang notabene khusus mempelajari ilmu-ilmu komputer sekalipun, tidak semua mahasiswanya pandai dalam bahasa pemrograman tertentu. Hal itu dikarenakan tidak semua orang mempunyai pemikiran dan kreativitas yang sama sehingga daya nalar terhadap sebuah bahasa pemrograman didapatkan hasil yang berbeda-beda untuk setiap orang. Contoh kasus adalah ketika dulu saya kuliah pada semester ke-6. Pada waktu itu seorang dosen memberikan sebuah tugas kepada semua mahasiswa untuk membuat sebuah program aplikasi yang sederhana tapi bermanfaat untuk orang banyak dengan menggunakan bahasa Pemrograman PASCAL. Praktek dilapangan ketika memenuhi tugas tersebut, 40% mahasiswa yang melaksanakan tugas tersebut (24 MHs dari 60 MHS) yang sekelas dengan saya masih tidak mengerti mengenai bahasa pemrograman ini, padahal mata kuliah untuk Bahasa Pascal ini telah didapat pada semester ke 3 sampai ke 4. Walhasil ke 24 mahasiswa tersebut dinyatakan untuk mengambil ulang mata kuliah tersebut.
Hal tersebut dikarenakan beberapa faktor sebagai berikut :
Delphi adalah sebuah bahasa pemrograman yang bersipat Objek (Object Oriented Programming) artinya adalah sebuah program yang mempunyai objek-objek tertentu dalam pemrograman nya. Selain itu Delphi adalah sebuah program yang bersifat visual artinya mempunyai tampilan grafik-grafik yang mudah dimengerti oleh pemula sekalipun (Graphical user Interface). Dengan Delphi Anda bisa membuat program-program dengan tampilan yang menawan, Delphi hanya bisa bekerja di bawah System Microsoft Windows sedangkan untuk system yang lain seperti Linux atau Unix Delphi mempunyai saudara kembarnya yang bisa bekerja pada system tersebut yaitu KYLIX.
Syntax-syntax Delphi di adopsi dari bahasa Pascal, untuk itu di dalam tutorial Dasar-dasar Delphi ini saya akan mengajak Anda ke masa lalu dimana pemrograman komputer saat itu masih menggunakan system 16 BIT yaitu Bahasa PASCAL sebelum Anda dibawa untuk mempelajari Pemrograman Delphi. Bila Anda sudah bisa bahasa PASCAL Anda dapat melewati pengantar mengenai bahasa Pascal ini.
Mengapa saya membawa Anda terlebih dahulu ke Bahasa Pascal tidak langsung ke Delphi ?, Dengan mengenal dasar-dasar bahasa pascal, Anda akan mudah untuk mempelajari pemrograman Delphi sebab semua syntax yang ada dalam pascal sama dengan syntax bahasa delphi, tetapi syntax dalam delphi tidak bisa diadopsi ke pascal karena itulah dalam pengantar ini saya beri judul Delphi adalah pascal tapi pascal bukan delphi.
II. Pengantar Bahasa Pascal
Instalasi PASCAL
Oke kita langsung saja pada materi pertama kita yaitu pengenalan bahasa pascal agar Anda mudah dalam mengikuti pemrograman bahasa Delphi berikutnya. Bila Anda kesulitan mencari program Bahasa Pascal versi 5, Anda dapat mendownloadnya disini. ( Download Pascal). Tapi saya memperingati kepada Anda bahwa program Pascal ini tidak boleh disebar-luaskan lagi kepada Umum sebab saya tidak punya lisensi untuk menyebarluaskan program ini. Dan juga Anda tidak boleh mengkomersialkan program ini, sebab program Pascal yang saya sediakan disini hanya untuk mempelajari program tersebut.
Setelah Anda Download exstract file pascal.zip dengan menggunakan winrar (Program Winrar Dapat di Download dari pilar kanan situs ini) atau winzip. Setelah itu klik dua kali file turbo.exe pada folder tersebut, maka program turbo pascal 5.5 sudah bisa Anda jalankan, bila ingin program Turbo Pascal yang lebih lengkap ikuti langkah-langkah berikut :

Tampilan PASCAL versi 5.5
Pada bahasa pascal Anda akan bermain dengan KEYBOARD bukan MOUSE, jadi untuk sementara lupakan fasilitas GUI yang dimanjakan oleh WINDOWS. sebab kita kembali ke tahun 80-an dimana PASCAL menjadi suatu bahasa Pemrograman pavorite dikalangan SCIENTIEST saat itu. Tombol keyboard yang paling pokok untuk mengakses program PASCAL adalah tombol : alt, esc, ctrl, F1 -- F12, ENTER, serta tombol anak panah. jadi bila salah satu tombol tersebut ada yang tidak berfungsi sebaiknya lupakan saja belajar pascal ini sampai Anda mengganti keyboard Anda dengan yang baru.
Untuk memulai pascal dari windows Anda dapat mengklik dua kali file TURBO.EXE, sedangkan bila melalui COMMAND PROMPT Anda dapat mengetikan perintah TURBO lalu tekan ENTER maka program PASCAL akan diload seperti gambar diatas. Tekan tombol ESC maka Program utama TURBO PASCAL akan di tampilkan, dari sini KEYBOARD menjadi senjata Anda untuk mengakses menu-menu yang ada di program utama PASCAL. Untuk lebih jelasnya mengenai penggunaan Keyboard pada pascal Anda dapat menekan tombol F1 yang akan memunculkan fasilitas HELP pada Pascal.
Untuk mengakses menu dari program pascal Anda gunakan tombol ALT di ikuti dengan Huruf pertama yang berwarna merah, contoh Anda akan mengakses menu File maka Anda dapat mengaksesnya dengan menekan tombol ALT dan huruf F. sekarang tekanlah tombol ALT+E, maka Anda berada pada mode editor, dan PASCAL siap untuk menerima perintah-perintah Program Anda. Sebagai perkenalan coba Anda ketikan program dibawah ini di editor PASCAL.
{ Program : Input dari keyboard dan Menghitung operasi matematika }
{ Create by : Komarudin_surya@suryatekno }
uses Crt;
var
x,y,z : longint;
lagi : char;
namak : string[20];
begin
lagi := 'y';
while (lagi = 'y') or (lagi = 'Y') do
begin
clrscr;
write('Siapa Nama Anda..?'); ReadLn(namak);
writeLn;
write('Hallo ',namak,', Coba kamu');
WriteLn(' masukan nilai x,y dan z ');
writeLn('pada operasi matematika ini.');
writeLn;
writeLn('Operasi matematika X^2 + y^2 + z =..... ');
write('masukan nilai x..= '); ReadLn(x);
write('masukan nilai y..= '); ReadLn(y);
write('masukan nilai z..= '); ReadLn(z);
writeLn;
writeLn('nilai operasi x^2 + y^2 + z adalah : ',x*x+y*y+z);
writeLn;
write('Mau hitung lagi apa tidak (y/t), ',namak,' ? ');
readLn(lagi);
end;
end.

Menu Editor Pascal
Siapa Nama Anda...? _
|
Siapa Nama Anda...? BEJO
Hallo BEJO, Coba kamu masukan nila x,y, dan zpada operasi matematika dibawah ini. Operasi matematika x^2 + y^2 + z adalah = ...... masukan nilai x..= _ |
Siapa Nama Anda...? BEJO
Hallo BEJO, Coba kamu masukan nila x,y, dan zpada operasi matematika dibawah ini. Operasi matematika x^2 + y^2 + z adalah = ...... masukan nilai x..= 5 masukan nilai y..= 5 masukan nilai z..= 5 nilai operasi x^2 + y^2 + z adalah : 55 Mau hitung lagi apa tidak (y/t), BEJO ? _ |
{ Program : Input dari keyboard dan
Menghitung operasi matematika }
{ Create by : Komarudin_surya@suryatekno }
Pada bagian ini merupakan suatu KOMENTAR yang tidak diproses oleh program, bagian komentar ini diperlukan untuk keperluan Dokumentasi agar program dapat diketahui maksud dan tujuannya serta bila kita suatu waktu akan menambahkan atau merubah program maka kita dapat dengan cepat mengetahui lokasi dari bagian program yang perlu kita tambahkan atau dirubah. Untuk memberikan komentar dalam pascal diberikan tanda { dan } atau (* dan *), jadi apapun yang dituliskan didalam kurung tersebut tidak akan diproses oleh program.
uses Crt;
perintah ini merupakan suatu UNIT, Unit mempunyai beberapa prosedur dan jenisnya. UNIT dalam Pascal harus disertakan untuk mengaktifkan prosedur-prosedur yang akan diprogram. Sedangkan Prosedur didalam Pascal dapat berbentuk prosedur yang didefinisikan atau dibuat sendiri oleh pemakai atau prosedur yang telah disediakan oleh Pascal. Prosedur yang didefinisikan sendiri oleh pemakai harus dideklarasikan terlebih dahulu.
Unit-unit dalam PASCAL 5.5 ada tujuh buah unit standar, ketujuh unit tersebut disimpan dalam file yang bernama TURBO.TPL. Unit-unit tersebut yaitu :
Begin
WriteLn(Lst,'Saya sedang mencoba Printer.');
WriteLn(Lst,'Create By : Suryatekno©2008');
WriteLn(Lst,'============================');
End.
Create By : Suryatekno *)
var ukuran : longint;
Begin
ukuran := DiskFree(0);
ClrScr;
WriteLn('Versi DOS yang Anda gunakan adalah : MS-DOS ',DosVersion);
WriteLn('Sisa Kapasitas Harddisk Anda : ',ukuran,' Bytes');
WriteLn;
WriteLn('Tekan tombol apa saja untuk keluar');
ReadLn;
End.
Create By : Suryatekno 2008 }
var
Driver,Model : integer;
I : integer;
Begin
Driver := VGA;
Model := VGAHi;
InitGraph(Driver, Model, ' ');
Line(20,155,200,155);
for I := 0 to 4 do
Bar3D(30+I*35, 154-Random(100),55+I*35,154,15,TopOn);
WriteLn;
WriteLn('Tekan Sembarang Tombol untuk Keluar');
ReadLn;
End.
Sekarang kita lanjutkan mengenai pembahasan program perkenalan yang telah anda buat pertama kali.
var
x,y,z : longint;
lagi : char;
namak : string[20];
Pada bagian ini disebut VARIABLE , Semua bahasa pemrograman memerlukan variabel untuk mengetahui type atau jenis data yang digunakan oleh si programer. Pada contoh program pengenalan tersebut kita memberitahukan kepada PASCAL bahwa type atau jenis variabel yang kita gunakan untuk variable x,y, dan z bertype longint, variable lagi bertype char dan variable namak bertype String dengan panjang karakter sebanyak 20 string.
1. DEKLARASI VARIABEL (VARIABLE DECLARATION)
Deklarasi variabel adalah suatu deklarasi yang nilai nya sudah pasti, dengan kata lain Deklarasi jenis ini tidak dapat dirubah lagi atau konstan. Pada contoh program diatas, deklarasi variabel untuk x, y dan z berjenis longint ( bilangan bulat dari -2147483648 sampai 2147483648 ) maka dalam program tersebut, hanya bisa dimasukan tipe data yang berjenis tersebut. Pada contoh diatas bila anda memasukan nilai selain tipe tersebut, misalkan anda memasukan angka A pada pada pertanyaan masukan nilai x..= maka program akan error, Nah agar tidak terdapat pesan error pada program tersebut, maka program tersebut harus ditambahkan suatu baris perintah yang berjenis logika jadi bila user memasukan nilai-nilai x,y dan z selain dari jenis tersebut maka akan dikeluarkan suatu peringatan yang memberitahukan user agar memasukan nilai untuk x, y dan z hanya bisa dimasukan oleh type variabel tersebut.
Silahkan Anda tambahkan baris perintah pada program testprog.pas diatas, agar user tidak salah dalam memasukan type data yang telah ditentukan !.
2. DEKLARASI KONSTANTA (CONSTANT DECLARATION)
Sama seperti deklarasi variabel, deklarasi konstanta juga bersifat tetap (konstan), bedanya adalah bila dalam deklarasi variabel kita hanya mendeklarasikan jenis dari data yang harus dikerjakan, sedangkan pada deklarasi konstanta kita langsung menyebutkan nilainya. Deklarasi konstanta tidak menggunakan tanda titik dua ( : ) seperti pada deklarasi variabel tetapi menggunakan tanda sama dengan ( = ).
Contoh Program yang menggunakan deklarasi konstanta
{ Progam : Penggunaan deklarasi konstanta
Design By : suryatekno©2008 }
uses crt;
const
nama = 'Amir';
nip = 'A3110';
gaji = 1000000;
lembur = 50000;
begin
clrscr;
writeLn('Nama Pegawai : ',nama);
writeLn('N I P : ',nip);
writeLn('Gaji Pokok : ',gaji);
writeLn('Uang Lembur : ',lembur);
writeLn('--------------------- +');
writeLn('Total Gaji : ',gaji+lembur);
writeLn;
writeLn('Tekan tombol ENTER untuk keluar');
readLn;
end.
3. DEKLARASI TIPE (TYPE DECLARATION)
Deklarasi tipe biasanya digunakan bila kita bekerja dengan ARRAY atau larik. Deklarasi Tipe mempunyai banyak sekali jenis dan type yang ditanganinya, saya tidak bisa menjelaskannya satu persatu kepada Anda dikarenakan terbatasnya space atau ruang yang disediakan pada situs ini, disamping itu pokok bahasan tutorial ini adalah PEMROGRAMAN DELPHI, saya kuatir nantinya pokok bahasan tersebut tidak bisa dimuat karena keterbatasan ini. Untuk itu saya sekali lagi menugaskan kepada Anda untuk mencari dari situs atau media lain mengenai DEKLARASI TYPE ini.
Contoh Program yang menggunakan deklarasi tipe
{ Program : Contoh penggunaan deklarasi tipe
Design By : Suryatekno©2008 }
uses crt;
type J = array[1..8] of string[20];
const
Jadwal : J=('Mandi','Sarapan','Meeting',
'Menemui Pak Badrun','Pulang',
'Mandi','Makan Malam','Istirahat');
var
I : word;
begin
clrscr;
writeLn('Jadwal Hari ini');
writeLn('===============');
writeLn;
for I:=1 to 8 do
writeLn(' ',I,'. ',Jadwal[I]);
writeLn('Tekan enter untuk Keluar.....');
readLn;
end.
4. DEKLARASI LABEL (LABEL DECLARATION)Deklarasi label adalah suatu deklarasi yang digunakan untuk memberi tanda (MARK) pada program agar program dapat berpindah atau meloncat pada tanda (MARK) yang ditentukan. Deklarasi ini mirip dengan bahasa PEMROGRAMAN BASIC yang menggunakan NOMOR BARIS untuk berpindah dari baris ke baris. Penulisan Deklarasi label ini harus menggunakan perintah LABEL yang dipisahkan dengan tanda koma ( , ).
Contoh program yang menggunakan deklarasi Label.
{ Program : Memilih dengan deklarasi Label
Design By : Suryatekno©2008 }
uses crt;
label
1,2,3,4,keluar; {Deklarasi label yang ditentukan}
var
ketik,ulang : char;
begin
1: { label ke - 1 sebagai pokok program }
clrscr;
writeLn('Menu Masakan Hari ini');
writeLn('---------------------');
writeLn;
writeLn('a. Nasi Putih + Rendang');
writeLn('b. Nasi Putih + Telur Dadar');
writeLn('c. Nasi Putih + Tempe Goreng');
writeLn;
writeLn('Masukan Huruf a , b atau c untuk Pesanan Anda.');
write('Pilihan Anda..? ');readLn(ketik);
{ Jika user memilih pilihan tersebut, maka program akan
meng-eksekusi program sesuai dengan LABEL yang dituju }
if ketik='a' then
begin
goto 2;
end;
if ketik='b' then
begin
goto 3;
end;
if ketik='c' then
begin
goto 4;
end
{ User tidak memilih atau salah dalam memasukan pilihan
selain yang ditentukan maka program akan meng-eksekusi
program yang lainnya, dalam program ini akan ditampil
kan kalimat "Anda tidak pesan apa-apa." lalu
meng-eksekusi LABEL keluar yang mengakhiri program }
else
begin
clrscr;
writeLn('Anda tidak pesan apa-apa.');
writeLn('Mungkin Anda tidak Lapar..);
writeLn;
writeLn('Tekan Enter untuk keluar..');
readLn;
goto keluar;
end;
2: { label ke - 2 bila user memilih pilihan a }
clrscr;
writeLn('Pesanan Anda Nasi Putih + Rendang, Terima Kasih.');
writeLn;
write('Pilih Lagi..(y/t) ? ');ReadLn(ulang);
if (ulang='y') or (ulang='Y') then
begin
goto 1;
end
else
begin
goto keluar;
end;
3: { label ke - 3 bila user memilih pilihan b }
clrscr;
writeLn('Pesanan Anda Nasi Putih + Telur Dadar,Terima Kasih.');
writeLn;
write('Pilih Lagi..(y/t) ? ');ReadLn(ulang);
if (ulang='y') or (ulang='Y') then
begin
goto 1;
end
else
begin
goto keluar;
end;
4: { label ke - 4 bila user memilih pilihan c }
clrscr;
writeLn('Pesanan Anda Nasi Putih + Tempe Goreng,Terima Kasih.');
writeLn;
write('Pilih Lagi..(y/t) ? ');ReadLn(ulang);
if (ulang='y') or (ulang='Y') then
begin
goto 1;
end
else
begin
goto keluar;
end;
keluar: { label keluar yang mengakhiri program }
end.
Penulisan
label bebas sesuai dengan keinginan anda, bisa sebuah kata atau
karakter, yang penting nama label tidak boleh sama dengan nama variabel,
type, atau konstanta yang anda tetapkan. Bila itu terjadi maka
kemungkinan akan terjadi konflik variabel dalam pengeksekuasian program.
Contoh diatas akan terus dilakukan selama anda memilih pilihan yang di
tetapkan. Ada cara yang lebih praktis ketimbang menggunakan LABEL
yaitu dengan printah CASE - OF yang akan dibahas nanti.4. DEKLARASI PROSEDUR (PROCEDURE DECLARATION)
Deklarasi prosedur adalah sebuah deklarasi yang dibuat dalam program agar bisa digunakan lagi dalam program, jadi deklarasi prosedur merupakan sebuah SUB PROGRAM yang bisa dipanggil sewaktu-waktu dalam program bila dibutuhkan. Dalam sebuah program yang terstruktur, Deklarasi Prosedur ini sangat dibutuhkan agar program menjadi lebih simpel. Untuk mengerti arti dari PROSEDUR ini saya berikan contoh kasus sebagai berikut : misalkan ada sebuah proses yang yang harus dikerjakan berulang kali untuk menampilkan kata "SURYATEKNO" , maka dalam program yang terstruktur kata tersebut disimpan dalam sebuah prosedur yang dapat dipanggil lagi dimanapun kata tersebut diperlukan.
Contoh program yang menggunakan Deklarasi Prosedur.
uses crt;
{ini adalah prosedur dgn nama s
yang akan menampilkan kata suryatekno}
Procedure s;
begin
write('Suryatekno');
end;
{akhir prosedur}
{program utama}
begin
clrscr;
s; { prosedur yang dipanggil }
WriteLn(' adalah suatu organisasi yang menghimpun');
writeLn('orang-orang yang mempunyai minat sama.');
writeLn;
s; { prosedur yang dipanggil }
writeLn(' juga merupakan sebuah kelompok belajar.');
writeLn;
writeLn('Tekan Enter untuk keluar...');
readLn;
end.
{akhir program utama}
Prosedur
mempunyai banyak jenisnya, disini saya hanya akan menjelaskan suatu
prosedur yang mudah-mudah saja agar anda sebagai pemula mengerti dalam
menggunakan prosedur ini.Prosedur yang paling terkenal adalah Prosedur REKURSI (RECURSION PROCEDURE) . Prosedur ini adalah sebuah prosedur yang menggunakan sendiri prosedurnya, jadi prosedur ini adalah prosedur yang memakan prosedur
Anda diminta untuk memindahkan sebuah piringan yang berbeda satu dengan yang lainnya secara satu persatu dari sebuah tumpukan ke tumpukan yang lainnya, dengan syarat piringan yang lebih kecil tidak boleh berada dibawah piringan yang lebih besar, dan pemindahan nya harus satu persatu tidak boleh sekalian. Lihat gambar.

Rekursi yang rumit, disebut juga sebagai MENARA HANOI
Pusing menghitung nya yah..?
Uses crt;
{ Awal Prosedur Rekursi }
procedure MenaraHanoi(Jumlah : Integer;
Sumber,Tujuan,Bantuan : Char;
var Langkah,Jumlah_A,
Jumlah_B,Jumlah_C,Waktu : Integer);
Var
Baris_Sumber,Kolom_Sumber,
Baris_Tujuan,Kolom_Tujuan : Integer;
Begin
if Jumlah > 0 Then
Begin
MenaraHanoi(Jumlah-1,Sumber,Bantuan,Tujuan,
Langkah,Jumlah_A,Jumlah_B,Jumlah_C,Waktu);
Langkah := Langkah+1;
if Sumber = 'A' Then
Begin
Kolom_Sumber := 30;
Baris_Sumber := 24-Jumlah_A;
Jumlah_A := Jumlah_A-1;
End
Else
if Sumber = 'B' Then
Begin
Kolom_Sumber := 40;
Baris_Sumber := 24-Jumlah_B;
Jumlah_B := Jumlah_B-1;
End
Else
Begin
Kolom_Sumber := 50;
Baris_Sumber := 24-Jumlah_C;
Jumlah_C := Jumlah_C-1;
End;
if Tujuan = 'A' Then
Begin
Kolom_Tujuan := 30;
Jumlah_A := Jumlah_A+1;
Baris_Tujuan := 24-Jumlah_A;
End
Else
if Tujuan = 'B' Then
Begin
Kolom_Tujuan := 40;
Jumlah_B := Jumlah_B+1;
Baris_Tujuan := 24-Jumlah_B;
End
Else
Begin
Kolom_Tujuan := 50;
Jumlah_C := Jumlah_C+1;
Baris_Tujuan := 24-Jumlah_C;
End;
Delay(Waktu*1000);
GotoXY(Kolom_Sumber,Baris_Sumber); Write(' ');
GotoXY(Kolom_Tujuan,Baris_Tujuan); Write(Jumlah);
GotoXY(18,24); Write(Langkah);
MenaraHanoi(Jumlah-1,Bantuan,Tujuan,Sumber,
Langkah,Jumlah_A,Jumlah_B,Jumlah_C,Waktu);
End;
End;
{Akhir Rekursi}
{Program Utama}
Var
Jumlah, Langkah : Integer;
Sumber,Bantuan,Tujuan : Char;
I,Baris : Integer;
Jumlah_A,Jumlah_B,Jumlah_C : Integer;
Waktu : Integer;
Begin
ClrScr;
Write('Berapa Piringan Yang akan dipindah ? ');
ReadLn(Jumlah);
Write('Waktu yang Anda inginkan (0-32) detik ? ');
ReadLn(waktu);
ClrScr;
GotoXY(25,24); WriteLn(' Sumber Bantuan Tujuan');
For I:=Jumlah DownTo 1 Do
Begin
Baris := 23-(Jumlah-I);
GotoXY(30,Baris); WriteLn(I);
End;
Langkah := 0;
Sumber :='A';
Bantuan :='B';
Tujuan :='C';
Jumlah_A := Jumlah;
Jumlah_B := 0;
Jumlah_C := 0;
GotoXY(1,24); Write('Jumlah Langkah = ');
MenaraHanoi(Jumlah,Sumber,Tujuan,Bantuan,
Langkah,Jumlah_A,Jumlah_B,Jumlah_C,Waktu);
ReadLn;
End.
{Akhir Program Utama}
5. DEKLARASI FUNGSI (FUNCTION DECLARATE)Deklarasi fungsi adalah deklarasi gabungan antara deklarasi Prosedur, type dan variabel. Kumpulan deklarasi ini disediakan oleh pascal untuk mempermudah dalam penyusunan program sehingga berbentuk sebuah fungsi. Pada sebuah fungsi komponen-komponen dari ketiga deklarasi tersebut dijadikan satu kesatuan yang dapat digunakan pada program yang majemuk. Adapun tata cara penulisan deklarasi fungsi adalah sebagai berikut :

Tata Cara Penulisan Deklarasi Fungsi
{ Program contoh Deklarasi fungsi
create by : Suryatekno@2008 }
Function Hasil(A,B,C : longint) : longint;
Begin
Hasil := A*A+B*B+C;
end;
Var X,Y,Z : longint;
Begin
WriteLn('Hasil dari X^2 + Y^2 + Z adalah..?');
Write('Jika Nilai X = ');ReadLn(X);
Write('Dan Nilai Y = ');ReadLn(Y);
Write('Serta Nilai Z = ');ReadLn(Z);
Write('Maka Hasil dari X^2 + Y^2 + Z');
WriteLn(' adalah : ',Hasil(X,Y,Z);
{Hasil - adalah nama fungsi yang dipanggil}
WriteLn;
WriteLn('Tekan Enter untuk Keluar..');
ReadLn;
end.
Dari
contoh program diatas, mungkin sebagian dari Anda ada yang bertanya
mengapa fungsi yang dinyatakan dengan variabel-variabel A,B dan C bisa berhubungan dengan Variabel X,Y dan Z ?. Begini..,Fungsi yang dijabarkan dengan variabel A,B,C hanya merupakan operasi yang harus dikerjakan oleh fungsi Hasil := A*A+B*B+C; , jadi Variabel A,B dan C tidak bernilai atau kosong. Sedangkan Variabel X,Y dan Z adalah Variabel Identifier (Pengenal)
yang Ada nilainya dan nilai ini harus dilaksanakan oleh fungsi seperti
yang dikehendaki. Untuk lebih jelas lagi Sekarang cobalah Anda rubah
baris program WriteLn(' adalah :,Hasil(X,Y,Z);
dengan mengganti variabelnya dengan A,B dan C kemudian Anda RUN lagi,
maka COMPILER PASCAL akan mengeluarkan peringatan bahwa variabel
A,B,dan C tidak diketahui identitasnya (Unknow Identifier), sebab A,B
dan C tidak bernilai.Kalau diterjemahkan dalam konteks bahasa manusia, perintah Hasil(X,Y,Z) adalah : Kerjakan Nilai yang ada dalam kurung, yang nilainya dimasukan melalui input keyboard dengan operasi Hasil , Dimana operasi tersebut adalah A*A+B*B+C dengan A sebesar X, B sebesar Y, dan C sebesar Z.. Paham..!!, Kalau belum paham juga saya menyerah..
Sejauh ini Anda sudah disuguhkan dengan contoh-contoh program, contoh-contoh tersebut saya rancang sedemikian rupa agar Anda yang pemula dalam mempelajari Bahasa Pemrograman dapat mengikuti tutorial ini. Cobalah Anda buat program-program sejenis tapi kali ini atas pemikiran dan cara-cara ANda sendiri dan tentu saja materi-mteri nya disesuaikan dengan contoh-contoh program yang telah Anda pelajari.
Baiklah sekarang mari kita lanjutkan pembahasan kita mengenai uraian Program pengenalan (TESTPROG.PAS). Selanjutnya dalam program tersebut ada baris-baris program berikut :
While (pilih='y') or (pilih='Y') Do
Begin
..........
..........
..........
end;
end.
Pada bagian ini dinamakan perulangan (LOOPING). Looping sangat sering digunakan dalam sebuah program yang majemuk, arti looping itu sendiri adalah memulai atau mengulang lagi suatu proses program yang sama jika kondisi dan syarat-syarat nya terpenuhi. Ada beberapa struktur perulangan yang perlu Anda ketahui yaitu :
- Perulangan dengan perintah For - To - Do
- Perulangan dengan perintah While - Do
- Perulangan dengan perintah Repeat - Until.
1. Perulangan For - To - Do
Struktur perulangan For - To - Do ada dua jenis yaitu :
a. Perulangan For Positif.
Bila variabel perulangan dilakukan dengan cara penghitungan dari nilai yang kecil ke nilai yang besar, maka struktur perulangan tersebut dinamakan perulangan for positif dengan struktur sebagai berikut :

Struktur FOR TO DO Positif.
{ program menghitung urutan 1-10, by : suryatekno }
uses crt;
Var
X : Integer; {variabel X menjadi acuan dg type Integer}
Begin
clrscr;
For X := 1 To 10 Do
Begin
WriteLn(X);
End;
writeLn('tekan Enter untuk keluar');
readln;
End.
b. Perulangan For Negatif.
Bila variabel perulangan dilakukan dengan cara perhitungan dari nilai yang besar ke nilai yang kecil, maka struktur perulangan tersebut dinamakan perulangan for negatif. Struktur perulangan for negatif adalah sebagai berikut.

Struktur FOR TO DO Negatif.
{ program menghitung mundur by : suryatekno }
uses crt;
Var
Y : Integer; {variabel Y menjadi acuan dg type Integer}
Begin
clrscr;
For Y := 10 DownTo 1 Do
Begin
WriteLn(Y);
End;
writeLn('tekan Enter untuk keluar');
readln;
End.
2. Perulangan While - Do
Perulangan While-Do adalah suatu perulangan atau looping yang akan terus menerus dilakukan selama kondisi yang disyaratkan terpenuhi, Jadi selama persyaratan yang dicantumkan adalah TRUE (BENAR) maka loop ini akan terus berjalan tak ada hentinya. Untuk itu berhati-hatilah dalam memberikan prasyarat sebuah perulangan while-do, bisa-bisa program itu tidak akan bisa di hentikan.
Seperti pada contoh program TESTPROG.PAS yang pertama kali Anda buat, Disitu parameter while-do di berikan nilai TRUE untuk huruf Y, jadi selama Anda menekan huruf Y, maka program itu akan terus dilakukan sampai Anda menekan tombol yang lainnya.
Mari Kita lihat lagi listing Program TESTPROG.PAS yang sudah Anda buat pertama kali.
{ Program : Input dari keyboard dan
Menghitung operasi matematika }
{ Create by : Komarudin_surya@suryatekno }
uses Crt;
var
x,y,z : longint;
lagi : char;
namak : string[20];
begin
lagi := 'y';
{awal perulangan dengan nama Lagi }
while (lagi = 'y') or (lagi = 'Y') do
begin { --> index awal perulangan}
clrscr;
write('Siapa Nama Anda..?'); ReadLn(namak);
writeLn;
writeLn('Hallo ',namak,', Coba kamu masukan nilai x,y dan z ');
writeLn('pada operasi matematika ini.');
writeLn;
writeLn('Operasi matematika X^2 + y^2 + z =..... ');
write('masukan nilai x..= '); ReadLn(x);
write('masukan nilai y..= '); ReadLn(y);
write('masukan nilai z..= '); ReadLn(z);
writeLn;
writeLn('nilai operasi x^2 + y^2 + z adalah : ',x*x+y*y+z);
writeLn;
write('Mau hitung lagi apa tidak (y/t), ',namak,' ? ');
readLn(lagi);
end; { --> index akhir perulangan}
{akhir perulangan dengan nama Lagi }
end.
Pada listing TESTPROG.PAS diatas, saya beri tambahan keterangan. Nah selama Anda memasukan variabel Lagi dengan huruf Y maka loop while
menjadi true sehingga program akan balik lagi ke index awal (Begin
pertama sesudah perintah while). begitu saja terus menerus sampai Anda
memasukan variabel Lagi dengan karakter selain Y.Berikut ini adalah salah satu program yang menggunakan Perulangan While-Do yang salah, sebab tidak ada ujungnya dan tidak bisa dihentikan. Cara menghentikan nya dengan menutup prompt command bila Anda menjalankan Pascal dari mode command window, atau reset komputer Anda bila menggunakan DOS Prompt.
{ Ini adalah contoh program yang
menggunakan perulangan While-Do
yang salah }
Var X : integer;
Begin
X := 1;
While X=1 Do
Begin
write(X,' .');
WriteLn('Salah Euy.., Muir Wae Yeuh..!');
End;
End.
Contoh
Program diatas sebagai peringatan kepada Anda agar berhati-hati dalam
memberikan parameter untuk while-do. pada program diatas X diberikan nilai awal 1 ( X := 1 ), selanjutnya perulangan while-do ( While X=1 Do
) juga diberikan nilai 1, jadi X selalu TRUE sehingga perulangan akan
dilakukan terus tanpa henti sampai Anda menutup atau mereset komputer
Anda. Perhatikan baik-baik dalam menggunakan perulangan ini jangan
sampai kesalahan yang kecil akan berakibat fatal bila tidak teliti.
Kesalahan yang legendaris dalam pemrograman pascal pernah terjadi pada
sekitar tahun 1973 dimana saat itu seorang programer membuat suatu
aplikasi, yang akhirnya menjadi sebuah VIRUS yang dibuat tanpa sengaja
(Virus itu mendelete semua program yang berektensi COM) tanpa bisa
dihentikan oleh programernya sendiri sehingga programer tersebut
dituntut untuk membayar kerugian perusahaan sebesar US$ 1.750.000,- .3. Perulangan Repeat - Until
Perulangan Repeat-Until hampir mirip dengan perulangan while-do, bedanya adalah kalau while-do perulangan nya dilakukan dari tanda begin pertama sampai end yang pertama setelah perintah while do , sedangkan perulangan repeat-until perulangan nya diakhiri dengan perintah until. Lihat struktur repeat until dibawah ini.
R E P E A T --- Perintah perulangan
|
|
S T A T E M E N --- Expresi Perulangan
|
|
U N T I L PARAMETER --- Akhir perulangan
Yang di ikuti oleh
Parameter yang
diulangJadi pada perulangan repeat-until ini, pertama kita taruh perintah repeat diatas statemen-statemen yang akan diulang kemudian ditutup dengan perintah until yang diikuti oleh parameter untuk perulangan. Untuk lebih jelas lihat contoh program dibawah ini yang menggunakan perulangan repeat-until.
{ Program : Tabel hasil perkalian
Creat by : Suryatekno@2008 }
uses crt;
Var
X,Y,Z : integer;
Begin
WriteLn(' TABEL PERKALIAN ');
WriteLn('==============================');
WriteLn('| X | Y | Hasil |');
WriteLn('==============================');
X := 10;
Repeat {awal perulangan X}
Y := 10;
Repeat {awal perulangan Y}
Z = X*Y;
WriteLn(X:5, Y:9, Z:10);
Y := Y+1;
Until Y > 13; {akhir perulangan Y}
X := X+1;
Until X > 13; {akhir perulangan X}
WriteLn('=============================');
WriteLn;
WriteLn('Tekan Enter untuk Keluar');
ReadLn;
End.
Pada
contoh program diatas, perulangan repeat-until digunakan untuk membuat
sebuah tabel perkalian antara X dan Y, dimana nilai awal untuk X dan Y
adalah 10, dan akan bertambah 1 setiap kali terjadi perulangan ( X := X+1 dan Y := Y+1 ) sampai nilai akhir yang ditentukan yaitu 13. Perulangan akan terjadi sebelum melebihi nilai akhir yang ditentukan ( 13 ). Jadi Perintah UNTIL bila kita terjemahkan adalah : Sebelum melebihi . Lihat hasil jalannya program seperti dibawah ini.
Hasil Jalannya Program perkalian.
Hmm..,sepertinya sub judul yang aneh..!. Anda tidak perlu terlalu pusing memikirkan sub judul yang saya sertakan. Mungkin bagi Anda sub judul diatas agak sedikit aneh, tapi bagi saya itu tidak aneh, biasa-biasa saja. Oke Friend, Anda sudah banyak melihat dan menjalankan program-program contoh yang saya sertakan pada Tutorial ini, disitu banyak perintah-perintah BAHASA PASCAL yang belum saya terangkan kepada Anda, jadi bila Anda orang yang kritis tentunya akan bertanya maksud ini apa, maksud itu apa, jika begini bagaimana dan bagaimana bila begini maka jangan heran kalau saya memberikan judul seperti diatas.
Langsung saja, dibawah ini akan saya jelaskan satu persatu perintah-perintah pokok yang perlu Anda ketahui dan dapat menjadi bekal Anda kelak bila ingin membuat aplikasi dari BAHASA PASCAL dan menjadi referensi Anda untuk belajar bahasa DELPHI.
1,1
|
80,1
| |
1,2
|
80,2
| |
1,24
|
80,24
|
Pembagian Baris dan Kolom pada layar 16 BIT
KODE WARNA HURUF DAN FOREGROUND
| |
NAMA WARNA
|
KODE WARNA
|
BLACK
|
0
|
BLUE
|
1
|
GREEN
|
2
|
CYAN
|
3
|
RED
|
4
|
MAGENTA
|
5
|
BROWN
|
6
|
LIGHTGRAY
|
7
|
DARKGREY
|
8
|
LIGHTBLUE
|
9
|
LIGHTGREEN
|
10
|
LIGHTCYAN
|
11
|
LIGHTRED
|
12
|
LIGHTMAGENTA
|
13
|
YELLOW
|
14
|
WHITE
|
15
|
BLINK
|
128
|
Nama serta Kode Warna Huruf dan Fore Ground
{Program melihat warna huruf
By : Suryatekno@2008 } uses crt; var biru,kuning,hijau,kedip : integer; begin biru := 1; kuning := 14; hijau := 2; kedip := 128; clrscr; TextColor(biru);WriteLn('Huruf berwarna Biru');
TextColor(kuning);WriteLn('Huruf berwarna Kuning');
TextColor(hijau);WriteLn('Huruf berwarna Hijau');
TextColor(kuning+kedip); WriteLn('Huruf Berwarna Kuning kucap-kiceup');
TextColor(15); WriteLn; ReadLn; WriteLn('Tekan Enter untuk Keluar');
End. |
{ Program membuat window baru yang diisi
oleh tulisan-tulisan didalamnya}
uses crt;
var x : integer;
begin
x := 1;
clrscr;
window(15,3,61,20);
TextColor(15);
Repeat
for x:=1 to 100 do
begin
Write('suryatekno ');
end;
until KeyPressed;
end.
|

Membuat Jendela Baru dengan Window
· { Program menghapus kata pada baris yang ditentukan
· Create by : Suryatekno@2008 }
·
· uses crt;
· var
· lagi : char;
· kata : string[50];
·
· Begin
· lagi := 'y';
· clrscr;
· writeLn('Kata dibaris ini akan diganti dgn kata baru');
· while (lagi='y') or (lagi='Y') do
· Begin
· gotoXY(1,3);
· clrEol;
· write('Kata pengganti (maks 50 karakter) : ');
· ReadLn(kata);
· gotoXY(1,1); {pointer pada kolom 1 baris 1}
· clrEol; (Kata pada baris tersebut dihapus}
· writeLn(kata); {menuliskan kata baru}
· gotoXY(1,5);
· clrEol;
· write('Mau diganti lagi (y/t) ? ');
· ReadLn(lagi);
· end;
· end.Perhatikan jalannya program !. Pada program tersebut POINTER diatur sedemikian rupa agar tidak saling tindih dengan kata-kata baru yang telah dituliskan, kita mengatur posisi kursor atau pointer tersebut ketempat yang sesuai dengan keinginan kita dengan perintah gotoXY(x,y);. Ini perlu Anda perhatikan agar program atau aplikasi yang Anda buat terlihat cantik dan menawan.
· ( Program menyisipkan baris
· by : suryatekno@2008 }
·
· uses crt;
· var lagi : char;
· begin
· clrscr;
· writeLn('Ini baris ke 1');
· writeLn('Ini baris ke 2');
· writeLn('Ini baris ke 3');
· writeLn('Ini baris ke 4');
· writeLn;
· write('Mau sisipkan baris dimana ? (2-4) : ');
· ReadLn(lagi);
· if (lagi='2') then
· begin
· gotoXY(1,2);insLine;
· gotoXY(1,2);write('-- Ini sisipan barisnya --');
· gotoXY(1,7);clrEol;
· writeLn('Baris ke ',lagi,' sudah di sisipkan.');