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
- 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[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
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’;
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)
C/:
VAR
r,s : string[24];
BEGIN
s := ‘UNIVERSITAS DARMA’;
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. 1
spasi
à 1801
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);
|
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’, A, 2);
WRITELN
(COPY (A, 4, 3);
END.
0 komentar:
Posting Komentar
Please Leave Your Comment :)