Anda di halaman 1dari 10

OPERASI STRING

Pascal menyediakan beberapa prosedur standar dan fungsi standar untuk operasi string
1. Merangkai String
Untuk merangkai string digunakan operatot ‘+’. Panjang maksimal suatu string dalam
pascal adalah 255 karakter.
Contoh program :
uses wincrt;
const
jenis = 'Bahasa';
nama = 'Turbo Pascal';
var
sifat : string[20];
kalimat : string[80];
begin
clrscr;
sifat := 'terstruktur';
kalimat := jenis+' '+nama+' '+'merupakan '+jenis+' '+sifat;
writeln(kalimat);
end.

2. Penyeleksian string
Dua buah string dikatakan sama bila nilai string yang pertama sama isi dan panjangnya
dengan nilai string kedua.
Contoh program :
uses wincrt;
var
bahasa : string[20];
begin
clrscr;
write('Bahasa apa yang anda pelajari : ');readln(bahasa);
if bahasa = 'pascal' then
writeln('Benar !!!')
else
writeln('Salah !!!');
end.

Prosedur Standar Untuk Operasi String


1. Prosedur Standar Delete
Bentuk umum dari prosedur ini adalah :
Delete(var s:string;index:integer;count:integer);
Prosedut ini digunakan untuk membuang (delete) sejumlah karakter (jumlah karakter
yang dibuang ditunjukkan oleh nilai integer count) mulai dari posisi tertentu (ditunjukkan
oleh integer index) dari suatu string (ditunjukkan oleh pengenal variabel string s).
Contoh Program :
uses wincrt;
var
bahasa : string[30];
i, posisi : integer;
begin
clrscr;
bahasa := 'Sedang Belajar Pascal';
for i:=1 to 21 do
begin
posisi := 23-i;
delete(bahasa,posisi,1);
writeln(bahasa);
end;
end.

2. Prosedur Standar Insert


Bentuk umum dari prosedur ini adalah :
Insert(source:string;var s:string;index:integer);
Prosedut ini digunakan untuk menyisipkan (insert) suatu string (ditunjukkan oleh string
source), ke nilai string yang lainnya (ditunjukkan oleh string s) mulai posisi ditunjukkan
integer index.
Contoh Program :
uses wincrt;
var
teks : string[30];
begin
clrscr;
teks := 'Belajar Pascal';
writeln(teks);
insert('bahasa ',teks,9);
writeln(teks);
end.

Fungsi Standar Untuk Operasi String


1. Fungsi standar Copy
Bentuk umum fungsi ini adalah :
Copy(s:string;index:integer;count:integer):string;
Fungsi ini digunakan untuk menyalin (copy) sejumlah karakter (count) mulai dari posisi
yang ditunjukkan nilai integer ke string s.
Contoh program :
uses wincrt;
var
teks : string[30];
begin
clrscr;
teks := 'Belajar Pascal';
writeln(copy(teks,5,3));
writeln(copy(teks,10,4));
end.

2. Fungsi standar Concat


Bentuk umum fungsi ini adalah :
Concat[s2,...,sn]:string):string;
Fungsi ini mempunyai operasi yang sama dengan operator string ‘+’, yaitu merangkai
beberapa nilai string yang ditunjukkan oleh nilai string s1,s2,...,sn.
Contoh program :
uses wincrt;
const
jenis = 'Bahasa';
nama = 'Turbo Pascal';
var
sifat : string[20];
kalimat : string[80];
begin
clrscr;
sifat := 'terstruktur';
kalimat:=concat(jenis,' ',nama,' ','merupakan ',jenis,'
',sifat);
writeln(kalimat);
end.

3. Fungsi standar Pos


Bentuk umum fungsi ini adalah :
Pos(substr:string;s:string):byte;
Fungsi ini digunakan untuk mencari posisi letak dari suatu nilai string (ditunjukkan oleh
substr) yang ada didalam nilai string yang lain (ditunjukkan oleh s). Nilai yang dihasilkan
adalah berupa nilai byte yang menunjukkan letaknya.
Contoh program :
uses wincrt;
const
teks = 'Saya Sedang Belajar Bahasa Turbo Pascal';
kar1 = 'aya';
kar2 = 'Sedang';
kar3 = 'aha';
begin
clrscr;
writeln(teks);
writeln(kar1,' ada diposisi ',pos(kar1,teks));
writeln(kar2,' ada diposisi ',pos(kar2,teks));
writeln(kar3,' ada diposisi ',pos(kar3,teks));
end.
4. Fungsi standar lenght
Bentuk umum fungsi ini adalah :
lenght(s:string):integer;
fungsi ini digunakan untuk menghitung panjang atau jumlah karakter yang ada pada
string yang ditunjukkan oleh s. Hasil dari fungsi ini adalah nilai numerik integer positif.
Contoh program :
uses wincrt;
const
teks = 'Saya Sedang Belajar Bahasa Turbo Pascal';
begin
clrscr;
writeln(length(teks));
end.
PROCEDURE DAN FUNCTION

Procedure dan Function adalah suatu program terpisah dalam blok sendiri yang berfungsi
sebagai sub-program (modul program) yang merupakan sebuah program kecil untuk
memproses sebagian dari pekerjaan program utama.

PROCEDURE
Prosedur diawali dengan kata cadangan Procedure di dalam bagian deklarasi prosedur.
Prosedur dipanggil dan digunakan di dalam blok program yang lainnya dengan menyebutkan
judul prosedurnya.
Prosedur banyak digunakan pada program yang terstruktur, karena :
1. Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang
rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-
prosedur.
2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam
prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.

Sebagaimana halnya sebuah program, suatu procedure juga memiliki header dan block.
Perbedaan bentuknya dengan program hanyalah pada bagian header-nya saja.

Bentuk Umum header suatu procedure adalah :

PROCEDURE nama;

Atau

PROCEDURE nama (formal parameter : jenis);

Jika kita menggunakan procedure dalam suatu program, maka procedure tersebut harus
dituliskan pada bagian deklarasi.

Contoh Program :

Misal kita akan membuat prosedur untuk mencetak header suatu alamat

Program CobaProsedur;
uses wincrt;

procedure cetak;
begin
writeln('PT. Maju Jaya');
writeln('Jl. Buntu No. 70');
writeln('Jogjakarta');
end;

begin
cetak;
end.
Untuk memanggil prosedur pada contoh diatas dengan menyebutkan nama prosedurnya.
Coba lakukan dengan memanggil beberapa kali.
Contoh program menambahkan prosedur garis

Program CobaProsedur;
uses wincrt;

procedure cetak;
begin
writeln('PT. Maju Jaya');
writeln('Jl. Buntu No. 70');
writeln('Jogjakarta');
end;
Procedure garis;
var
i:integer;
begin
for i:=1 to 20 do
write('=');
end;

begin
cetak;
garis;
end.

Contoh program untuk menjumlahkan dua nilai dari input :

Program PenjumlahanDgProsedur;
uses wincrt;

procedure jumlah;
var
a,b,c : integer;
begin
write('Isi a : ');readln(a);
write('Isi b : ');readln(b);
c:=a+b;
writeln(a,' + ',b,' = ',c);
end;

begin
jumlah;
end.

JANGKAUAN IDENTIFIER
Identifier yang dideklarasikan dalam suatu blok program hanya berlaku pada blok dimana
identifier tersebut didefinisikan
Program P;
Var
x : integer;

Procedure PL;
Var
y : real;
begin
..........; daerah daerah berlaku x
..........; berlaku y
end;

Begin
..........;
..........;
End.

x disebut variabel global dikenal di prosedur PL dan program utama


y disebut variabel lokal hanya dikenal di prosedur PL

PROCEDURE DENGAN PARAMETER


Nilai di dalam suatu modul program Pascal sifatnya adalah lokal, artinya hanya dapat
digunakan pada modul atau unit program yang bersangkutan saja, tidak dapat digunakan pada
modul atau unit program yang lainnya. Untuk dapat dikenal dimodul lain suatu nilai harus
dikirimkan dalam bentuk parameter.

Pengiriman parameter secara nilai


Parameter yang dikirimkan secara nilai, maka parameter formal yang ada di prosedur akan
berisi nilai yang dikirimkan yang kemudian bersifat lokal di prosedur. Dengan kata lain
pengiriman paramater secara nilai dimaksudkan nilai yang dikirimkan tidak diubah
sekembalinya dari pemanggilan prosedur.

Bentuk

PROCEDURE nama (formal parameter : jenis);

Contoh :

Misalkan kita akan membuat prosedur untuk menukarkan dua buah nilai.

uses wincrt;
var
x,y:integer;
procedure tukar(a,b:integer);
var
c:integer;
begin
c:=a;
a:=b;
b:=c;
writeln('a=',a,' b=',b,' dalam prosedur hitung');
end;
begin

x:=5;y:=10;
tukar(x,y);
writeln('x=',x,' y=',y,' dalam program utama');
end.

Output :

Pengiriman parameter secara acuan

Bila pengiriman parameter secara acuan (by reference), maka perubahan-perubahan yang
terjadi pada nilai parameter formal di prosedur akan mempengaruhi nilai actual parameter.
Dengan kata lain pengiriman paramater secara acuan dimaksudkan nilai yang dikirimkan
untuk diubah sekembalinya dari pemanggilan prosedur.

Bentuk

PROCEDURE nama (Var formal parameter : jenis);

Contoh :

Misalkan kita akan membuat prosedur untuk menukarkan dua buah nilai.

uses wincrt;
var
x,y:integer;
procedure tukar(Var a,b:integer);
var
c:integer;
begin
c:=a;
a:=b;
b:=c;
writeln('a=',a,' b=',b,' dalam prosedur hitung');
end;

begin

x:=5;y:=10;
tukar(x,y);
writeln('x=',x,' y=',y,' dalam program utama');
end.
FUNCTION
Blok fungsi hampir sama dengan blok prosedur, hanya fungsi harus dideklarasikan dengan tipenya
atau jenis hasilnya. Tipe deklarasi ini menunjukkan tipe hasil dari fungsi. Pada bahasa Pascal dikenal
beberapa fungsi, misalkan : abs, pred, sqrt, sqr, succ dan sebagainya. Fungsi-fungsi tersebut biasanya
dikenal dengan Built in Function. Sedangkan function yang akan bicarakan disini adalah fungsi yang
kita buat sendiri.
Berbeda dengan procedure, function merupakan modul program yang menghasilkan suatu kuantitas.
Dengan kata lain function mengembalikan nilai balik ke pemanggil. Hal ini dapat dilihat dari bentuk
header-nya yang menyebutkan jenis data dari kuantitas yang dihasilkan.
Secara umum bentuk header suatu function adalah :

FUNCTION nama : jenis hasil;


Atau

FUNCTION nama (formal parameter : jenis ) : jenis_hasil;


Contoh
Akan dibuat program untuk menjumlahkan dua nilai dari input dengan menggunakan fungsi
program penjumlahan;
uses wincrt;
function jumlah(a,b:integer):integer;
begin
jumlah:=a+b;
end;
var
x,y:integer;
begin
write('Masukkan X : ');readln(x);
write('Masukkan Y : ');readln(y);

writeln(x,'+',y,'=',jumlah(x,y));
end.

Contoh
Akan dibuat program untuk mengkonversikan nilai mahasiswa dengan input nama mhs, nama
mk, nilai uts, uas dan tugas. Akan dibuat dua fungsi yaitu rata2 dan huruf
program KonversiNilai;
uses wincrt;
function rata(a,b,c:integer):real;
var
tot : integer;
begin
tot:=a+b+c;
rata:=tot/3;
end;
function huruf(a:real):char;
begin
if a>=80 then
huruf:='A'
else if a>=70 then
huruf:='B'
else if a>=60 then
huruf:='C'
else if a>=50 then
huruf:='D'
else
huruf:='E';
end;
var
nama,mk : string;
uts,uas,tugas:integer;
begin
write('Masukkan Nama Mhs : ');readln(nama);
write('Masukkan Nama MK : ');readln(mk);
write('Nilai UTS : ');readln(uts);
write('Nilai UAS : ');readln(uas);
write('Nilai Tugas : ');readln(tugas);
writeln('Nilai rata2 : ',rata(uts,uas,tugas):2:1);
writeln('Nilai huruf : ',huruf(rata(uts,uas,tugas)));
end.

Anda mungkin juga menyukai