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 }
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('spirit');
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 }
uses crt;
type J = array[1..8] of
string[20];
const
Jadwal :
J=('joging','ngampus','kerja');
var
I : word;
begin
clrscr;
writeLn('agenda');
writeLn('===============');
writeLn;
for I:=1 to 8 do
writeLn(' ',I,'. ',Jadwal[I]);
writeLn('spirit');
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 }
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.
5. 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}
Procedure s;
begin
write('saipul');
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 . Contoh kasus proses rekursi yang rumit
adalah sebagai berikut :
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
Anda harus memindahkan piringan
yang berjumlah 20 buah piringan yang berbeda dari menara A ke menara C, untuk
keperluan tersebut Anda diberikan sebuah menara lagi yaitu menara B. Yang
menjadi pertanyaan adalah : Berapa kali Anda memindahkan sebuah piringan yang
sama, dan berapa langkah yang Anda tempuh serta berapa lama Anda memindahkannya
?. Sebagai bantuan lagi Anda diberikan contoh untuk 2 buah piringan sebagai
berikut : Pertama Anda pindahkan piringan yang ke 2 ke menara B lalu pindahkan
piringan ke 1 ke menara C setelah itu pindahkan piringan ke 2 yang berada di
menara B ke menara C selesai ( Ingat piringan yang lebih kecil tidak boleh
berada dibawah piringan yang besar..! ). Sekarang cobalah untuk 20 piringan
yang ditugaskan kepada anda !.
Pusing menghitung nya yah..?,
kalau pusing berapa langkah yang Anda tempuh untuk tugas itu, dibawah ini saya
berikan contoh program yang memakai prinsip REKURSI untuk menghitung langkah
yang diperlukan. serta akan diperlihatkan piringan mana saja yang akan
dipindahkan terlebih dahulu, Anda bisa saja memasukan 1000 piringan misalnya,
tetapi Anda harus sabar menunggunya, sebab bila Anda memasukan waktu yang
diinginkan sebesar 1 detik saja untuk setiap piringan, berarti Anda harus sabar
menunggu program untuk menghitung dan memperagakan kepada Anda selama 3 Hari.
Untuk contoh ini cobalah Anda masukan Tugas memindahkan piringan diatas dengan
bantuan program ini..hehehe malas ni yeee .
Uses crt;
{ Awal Prosedur Rekursi }
procedure
flashnet(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
flashnet(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);
flashnet(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 = ');
flashnet(Jumlah,Sumber,Tujuan,Bantuan,
Langkah,Jumlah_A,Jumlah_B,Jumlah_C,Waktu);
ReadLn;
End.
{Akhir Program Utama}
6. 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
Dari gambar diatas terlihat bahwa
ketiga deklarasi yang telah diuraikan sebelumnya dijadikan satu kesatuan yang
lebih simple dan praktis. Untuk lebih jelasnya cobalah Anda ketik di editor
Pascal program dibawah ini, setelah itu Anda jalankan program tersebut dengan
perintah RUN.
{ Program contoh Deklarasi
fungsi}
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('spirit');
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 VariabelIdentifier (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. Bagian inilah yang harus Anda Pahami dan Perhatikan dengan
serius tentang Tata Cara membuat Deklarasi Fungsi.
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.., tidak bisa
menerangkan lagi kepada Anda secara detail mengenai fungsi ini, dan dapat
membuat Anda mengerti.
No comments:
Post a Comment