OPERASI STRING
Suatu String dalam Bahasa Pascal dapat dioperasikan dengan berbagai macam
tujuan. Pascal menyediakan berbagai prosedur standar dan fungsi standar untuk
operasi string.
Prosedur Standar Fungsi
Standar
- DELETE 1. CONCAT
- INSERT 2. COPY
- STR 3. POS
- 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.
C/:
Const
Jenis = ‘Bahasa’;
Nama = ‘Turbo Pascal’;
Var
Sifat : String[15];
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
C/: VAR s,h : string;
BEGIN
s := ‘ABCDEF’;
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)
C/: VAR
r,s : string[24];
BEGIN
s := ‘SMK SRAGI’;
insert(‘SATU’,s,5);
writeLn(‘Hasil s adalah ‘, s);
END.
à Hasil r adalah SMK SATU SRAGI
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 ==>1 = spasi
1234 567
4. VAL ð mengubah nilai suatu argumen
string menjadi nilai numerik
BU :
Val(Var_string_angka,Var_nilai,kode)
(kode disintaks diatas menunjukkan 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);
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
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.
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
Latihan !
Tentukan hasil dari program berikut
- PROGRAM LATIH1;
VAR M, N : STRING[14];
BEGIN
M := ‘ESCHATOLOGICAL’;
N := COPY (M,6,4);
INSERT (‘L’, N, 3);
WRITELN (N);
END.
- PROGRAM LATIH2;
VAR A : STRING[5];
N : INTEGER;
C : INTEGER;
BEGIN
A := ‘12345’;
N := VAL (A, N, C); {Nilai C
belum diketahui)
WRITELN (N);
END.
- PROGRAM LATIH3;
VAR A, B : STRING[10];
BEGIN
A := ‘MORGAN’;
B := COPY ( CONCAT ( COPY (A,
3, 2), A), 3, 2 );
WRITELN (B);
END.
- PROGRAM LATIH4;
VAR A, B : STRING[10];
BEGIN
A := ‘MORGAN’;
B := COPY (A, 2, 2);
WRITELN (B);
A := ‘CONCAT (A, B);
WRITELN (A);
END.
- PROGRAM LATIH5;
VAR M, N : STRING[10];
BEGIN
M := ‘ABCDEFGHIK’;
DELETE (M, 5, 2);
INSERT (‘Z’, M, 2);
WRITELN (COPY (M, 4, 3);
END.
No comments:
Post a Comment