OPERASI STRING
Suatu String dalam Bahasa Pascal dapat dioperasikan dengan berbagai macam tujuan. Pascal menyediakan berbagai prosedur standar dan fungsi stanfar untuk opersai string.
Prosedur Standar Fungsi Standar
1. DELETE 1. CONCAT
2. INSERT 2. COPY
3. STR 3. POS
4. VAL 4. LENGHT
Dalam Operasinya String hanya mempunyai sebuah operator, yaitu operator ‘+’. Bila operator ini digunakan untuk dua buah elemen string, maka akan menjadi penggabungan dua buah string menjadi satu.Panjang Maksimal suatu string yang diijinkan oleh Pascal adalah 255 karakter.
Contoh :
Const
Jenis = ‘Bahasa’;
Nama = ‘Turbo Pascal’;
Var
Sifat : String[10];
Kalimat : String [80];
Begin
Sifat := ‘terstruktur’;
Kalimat := Jenis+’ ‘+Nama+’ ‘+’merupakan’+Jenis+’ ‘+Sifat;
WriteLn(Kalimat);
End.
à Bahasa Turbo Pascal merupakan Bahas
terstrukur
Procedure Standart pada String
1.
DELETE
(Procedure)
ð menghapus
substring dari suatu string, dimulai dari posisi i, sebanyak n à String
BU : DELETE ( string,
i, n)
Cat.
Jika jumlah I lebih besar dari jumlah karakter dalam string, maka tidak ada
karakter yang terhapus
Contoh : VAR
s,h : string;
BEGIN
s := ‘ABCDEF’;
h := delete(s,2,3);
WriteLn(‘String pertama = ’, s);
WriteLn(‘String akhir = ‘, h);
END.
à
String pertama = ABCDEF
String
kedua = AEF
2.
INSERT ð insert (menyisipkan) substring (string1)
dalam suatu string (string2), pada posisi I à String
BU : INSERT
(string1, string2, i)
Contoh : VAR
r,s : string[24];
s := ‘UNIVERSITAS DARMA’;
BEGIN
r := insert(‘GUNA’,s,7);
writeLn(‘Hasil r adalah ‘, r);
END.
à
Hasil r adalah UNIVERSITAS GUNADARMA
Cat. Apabila hasil penyisipan menjadi
String yang panjangnya lebih dari 255 karakter, maka yang dianggap signifikan
hanya sampai 255 karakter saja.
3.
STR
ð
mengubah bentuk numerik (x) menjadi nilai string (s)
BU : STR (x [ : n [ :m ]
], string)
Nilai ‘n’ menunjukkan format panjang dari nilai
utuh dan nilai ‘m’ menunjukkan format panjang desimal (nilai dibelakang koma)
C/:
VAR N1,N2 :
integer;
S1,S2 : string;
BEGIN
N1 := 1234; N2 := 567;
Writeln (N1+N2);
Str (N1:4,S1);
Str (N2:4,S2);
Writeln(S1+S2);
END.
à 1801_ terdapat spasi 1
1234 567
4.
VAL
ð
mengubah nilai suatu argumen string menjadi nilai numerik
BU :
Val(Var_string_angka,Var_nilai,kode)
posisi
salah
Cat.
Var_string_angka berisi data string
yang berupa angka
Var_nilai berisi data hasil
konversi.
Jika
terjadi kesalahan data maka akan posisi kesalahan disimpan pada
kode
C/:
VAR N1, N2 : Real;
S1,
S2 : String[6];
Salah1,salah2 : Integer;
BEGIN
S1 := ‘123.45’
S2 := ‘765.A3’
Val (S1, N1, salah);
Val (S2, N2,
salah);
WriteLn(‘Nilai String1 = ‘ , S1);
WriteLn(‘Nilai
String2 = ‘, S2);
WriteLn(‘Nilai Real1 =’, N1);
WriteLn(‘Nilai Real2 =’, N2);
WriteLn(‘Posisi Salah N1 = ‘,
salah1);
WriteLn(‘Posisi Salah N2 = ‘,
salah2);
END.
Nilai String1 = 123.45
Nilai String2 = 765.A3
Nilai Real1 = 1.2345000000E+02
Nilai Real2 = 7.6500000000E+02
Posisi Salah N1 = 0
Posisi Salah N2 = 5
Fungsi Standar pada Operasi String
- CONCAT
ð
menggabungkan dua string secara berurut
BU :
ConCat(S1,S2[,S3,…,
Sn])
Cat.
Fungsi standar ini mempunyai operasi yang sama dengan operator string ‘+’,
yaitu merangkai beberapa nilai string.
C/:
VAR
S1, S2 : string[3] ;
S3 : string[6];
BEGIN
S1 := ‘ABC’; S2 := ’XYZ’;
S3 := CONCAT(S1,S2);
Write (‘Nilai S3 = ‘, S3);
END.
à Nilai S3 = ‘ABCXYZ’
2. COPY ð
mengambil bagian string (substring) dari suatu string, dimulai dari posisi i,
sebanyak n à String
BU :COPY (String, i, n )
C/:
VAR
s,r : string;
BEGIN
s := ‘ABCDEF’;
r := copy (s,2,3);
WriteLn (‘Nilai r adalah ‘, r);
END.
à Nilai r adalah BCD
3. POS ð
Mencari posisi letak dari suatu substring yang ada dalam suatu string à
Interger
BU : POS (subString, string)
Cat
: Jika SubString yang dicari terdiri dari beberapa karakter, maka dalam
pencariannya akan mencari deretan karakter yang sesuai.
C/:
VAR
K1, K2, K3, K4 : string[4];
S :
String[20];
BEGIN
S := ‘ABCDEFGHIJKLMNOPQRST’;
K1 := ‘ FGH’;
K2 := ‘H’;
K3 := ‘JUGA’;
K4 := ‘PQRS’;
WriteLn(K1, ‘ di posisi ‘,POS(K1,S);
WriteLn(K2, ‘ di posisi ‘,POS(K2,S);
WriteLn(K3, ‘ di posisi ‘,POS(K3,S);
WriteLn(K4, ‘ di posisi ‘,POS(K4,S);
END.
à FGH di posisi 6
H
diposisi 6
JUGA diposisi 0
PQRS
diposisi 16
4. LENGTH ð memberikan nilai panjang atau jumlah
karakter dari suatu string à integer
C/:
VAR s : string[20];
i : word;
BEGIN
.
s := ‘program pascal’;
i := LENGTH(s);
WriteLn(‘Panjang string : ’, ‘‘‘‘,s, ‘‘‘‘
,‘ adalah ‘, I, ‘
karakter’); END.
à
Panjang string “program pascal” adalah
14 karakter