Senin, 11 Mei 2009

Operasi string

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
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);
Val (S2, N2, salah);
WriteLn(‘Nilai String1 = ‘ , S1);
WriteLn(‘Nilai String2 = ‘, S2);
WriteLn(‘Nilai Real1 =’, N1);
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’

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
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

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.













1.4 Fungsi Standar Operasi String
1.4.1 Fungsi Standar Copy
Bentuk Umum :
Copy (s : string ; index : integer ; count : integer ) : string
Digunakan untuk menyalin sejumlah karakter (jumlah karakter yang disalin ditunjukkan oleh nilai count) mulai dari posisi yang ditunjukkan oleh nilai integer index dari nilai string yang ditunjukkan oleh s.
Contoh program :
Var
Karakter : string[15];
Begin
Karakter : = ‘ABCDEFGHIJKLMNO’ ;
Writeln (Karakter);
Writeln (copy(Karakter, 5, 3));
Writeln (copy(Karekter, 3, 10));
End.
Manipulasi String Algoritma & Pemrogram 2A
Output program :
ABCDEFGHIJKLMNO
EFG
CDEFGHIJKL
1.4.2 Fungsi Standar ConCat
Bentuk Umum :
ConCat (s1[,s2,…, sn] : string) : string ;
Mempunyai operasi yang sama dengan operator string "+", yaitu merangkai beberapa nilai string yang ditunjukkan oleh nilai string s1, s2, …, sn.
Contoh program :
Const
Nama = ‘Pascal’ ;
Lain = ‘dan keluarga’ ;
Begin
Writeln (Concat(‘Bahasa’, Nama, ‘untuk Anda’, lain)) ;
End.
Output program :
Bahasa Pascal untuk Anda dan keluarga
1.4.3 Fungsi Standar Pos
Bentuk Umum :
Pos (Substr : string ; s : string) : byte ;
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. Bila bernilai nol berarti nilai string yang dicari tidak ada.
Manipulasi String Algoritma & Pemrogram 2A
Contoh program :
Const
Huruf = ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’ ;
Kar1 = ‘FGHI’ ;
Kar2 = ‘F’ ;
Kar3 = ‘JUGA’ ;
Kar4 = ‘DCB’ ;
Kar5 = ‘PQRST’ ;
Begin
Writeln (Huruf) ;
Writeln ;
Writeln (Kar1, ‘ada diposisi ke’, Pos(Kar1,Huruf)) ;
Writeln (Kar2, ‘ada diposisi ke’, Pos(Kar2,Huruf)) ;
Writeln (Kar3, ‘ada diposisi ke’, Pos(Kar3,Huruf)) ;
Writeln (Kar4, ‘ada diposisi ke’, Pos(Kar4,Huruf)) ;
Writeln (Kar5, ‘ada diposisi ke’, Pos(Kar5,Huruf)) ;
End.
Output program :
ABCDEFGHIJKLMNOPQRSTUVWXYZ
FGHI ada diposisi ke 6
F ada diposisi ke 6
JUGA ada diposisi ke 0
DCB ada diposisi ke 0
PQRST ada diposisi ke 16
1.4.4 Fungsi Standar Length
Bentuk Umum :
Length (s : string) : integer ;
Digunakan untuk menghitung panjang atau jumlah karakter yang ada dinilai string yang ditunjukkan oleh s. hasil dari fungsi ini adalah nilai numeric integer positif.
Contoh program
Var
Nama : string[30] ;
Begin
Write (‘ Nama Anda :’ ) ;
Readln (Nama) ;
Writeln ( ‘Panjang nama Anda adalah ’, Length(Nama),’ karakter’);
End.
Output program :
Nama Anda : Dita
Panjang nama Anda adalah 4 karakter
Manipulasi String Algoritma & Pemrogram 2A