- Suatu String dalam Bahasa Pascal dapat dioperasikan dengan berbagai macam tujuan. Pascal menyediakan berbagai prosedur standar dan fungsi standar untuk operasi string.
- 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.
Prosedur Standar yang berguna untuk memanipulasi string,Yaitu :
- DELETE
- INSERT
- STR
- VAL
DELETEMenghapus substring dari suatu string, dimulai dari posisi i, sebanyak n karakter.Bentuk umum : DELETE (string, i, n)
sebelum dihapus:informatika
- uses crt;
- var
- s,akhir, awal : string;
- begin
- clrscr;
- s:='informatika';
- akhir:=s;
- awal:=s;
- writeln('sebelum dihapus:',s);
- writeln;
- {hapus akhir}
- delete(akhir,5,7);
- writeln('setelah dihapus:',akhir);
- {hapus awal}
- delete(awal,1,3);
- writeln('setelah dihapus awal:',awal);
- readln;
- end.
sebelum dihapus:informatika
setelah dihapus:info
setelah dihapus awal:ormatika
{} separator Comment
Insert
Menyisipkan string ke dalam suatu string lainnya, pada posisi i.Bentuk umum : INSERT (string1, string2, i)
- uses crt;
- var
- s1, s2 : string;
- begin
- clrscr;
- s1:='AS';
- s2:='PCAL';
- Insert(s1,s2,2);
- writeln('setelah disisipi=',s2);
- readln;
- end.
Output:
setelah disisipi=PASCAL
contoh2:
- uses crt;
- VAR
- kata : string[25];
- BEGIN
- kata := ‘algoritma pemograman’;
- insert(‘dan ’,kata,11);
- writeln(kata);
- readln;
- END.
algoritma dan pemograman
STR
Mengubah bentuk numerik(x) menjadi nilai string(s)
Bentuk umum : STR (x [ : n [ :m ] ], string)
Nilai ‘n’ menunjukkan format panjang dari nilai utuh dan nilai ‘m’ menunjukkan format panjang desimal (nilai dibelakang koma)
- uses crt;
- VAR
- N1, N2 : integer;
- S1, S2 : string;
- BEGIN
- N1 := 1234; N2 := 567;
- Writeln (N1+N2);
- Str (N1:4,S1);{jika “:4” dihapus maka output tanpa spasi}
- Str (N2:4,S2);
- Writeln(S1+S2);
- Readln;
- END.
1801
1234
VAL
mengubah nilai suatu argumen string menjadi nilai numerik
Bentuk umum : Val(Var_string_angka,Var_nilai,kode)
Keterangan :
- 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.
- uses crt;
- VAR
- Nilaistring:string[10];
- Nilaireal:real;
- Posisisalah:integer;
- BEGIN
- Nilaistring:=’-123.45’;
- Val(nilaistring,nilaireal,posisisalah);
- Writeln(‘nilai string : ’,nilaistring);
- Writeln(‘nilai real : ’,nilaireal);
- Writeln(‘posisi salah : ‘,posisisalah’);
- Nilaistring:=’-123.A5’;
- Val(nilaistring,nilaireal,posisisalah);
- Writeln(‘nilai string : ’,nilaistring);
- Writeln(‘nilai real : ’,nilaireal);
- Writeln(‘posisi salah : ‘,posisisalah’);
- Readln;
- END.
Output :
nilai string : -123.45
nilai real : -1.2345000000E+02
posisi salah : 0
nilai string : -123.A5
nilai real : 0.0000000000E+00
posisi salah : 6
Fungsi Standar Untuk Operasi String,Yaitu :
- CONCAT
- COPY
- POS
- LENGTH
CONCAT
Menggabungkan dua string secara berurut. Fungsi standar ini mempunyai operasi yang sama dengan operator string ‘+’, yaitu merangkai beberapa nilai string.
Bentuk umum : ConCat(S1,S2[,S3,…, Sn])
- uses crt;
- VAR
- S1, S2 : string[8] ;
- S3 : string[20];
- BEGIN
- clrscr;
- S1 := 'infor';
- S2 := 'matika';
- S3 := CONCAT(S1,S2);
- Write ('Setelah digabung = ', S3);
- readln;
- END.
Output:
Setelah digabung = informatika
COPY
Mengambil bagian string (substring) dari suatu string, dimulai dari posisi i,sebanyak n karakter.
Bentuk umum : COPY (String, i, n)
- uses crt;
- Var
- s,r : string;
- BEGIN
- clrscr;
- s := 'informatika';
- r := copy (s,3,6);
- WriteLn ('Nilai r(COPY) adalah ', r);
- readln;
- END.
Output:
Nilai r(COPY) adalah format
POS
Mencari posisi letak dari suatu substring yang ada dalam suatu string
Bentuk umum : POS (subString, string)\
- uses crt;
- VAR
- Kata,S : String[20];
- BEGIN
- S := ‘ABCDEFGHIJKLMNOPQRST’;
- Kata := ‘FGH’;
- WriteLn(Kata, ‘ di posisi ‘,POS(Kata,S);
- Readln;
- END.
Output:
FGH di posisi 6
LENGTH
Memberikan nilai panjang atau jumlah karakter dari suatu string.
- uses crt;
- VAR
- s : string[20];
- BEGIN
- s := ‘Pascal’;
- WriteLn(‘Lenght : ’, ‘”‘,s, ‘”‘ ,‘ adalah ‘, length(s));
- Readln;
- END.
Output :
Length : “Pascal” adalah 6
Format pada penulisan writeln pascal.
Format output cukup mudah. Untuk setiap identifier atau nilai literal pada daftar argumen, gunakan:
Value : field_width
output yang benar-dibenarkan dalam bidang lebar integer yang ditentukan. Jika lebar tidak cukup panjang untuk data, spesifikasi lebar akan diabaikan dan data akan ditampilkan secara keseluruhan (kecuali untuk nilai real - lihat di bawah).
Misalkan kita punya:
writeln ( 'Hi': 10, 5: 4, 5673: 2);
output akan (itu delapan ruang sebelum Hi dan tiga ruang setelah):
Hi 55673
Untuk nilai-nilai nyata, Anda dapat menggunakan sintaks tersebut untuk menampilkan notasi ilmiah di lebar lapangan ditentukan, atau Anda dapat mengkonversi ke notasi desimal tetap-point dengan:
Nilai: field_width: decimal_field_width
Lebar field adalah lebar bidang total, termasuk bagian desimal. Jumlah seluruh bagian selalu ditampilkan sepenuhnya, jadi jika Anda belum dialokasikan cukup ruang, itu akan ditampilkan pula. Namun, jika jumlah angka desimal melebihi lebar bidang desimal tertentu, output akan ditampilkan bulat untuk jumlah tertentu tempat (meskipun variabel itu sendiri tidak berubah).
write (573.549,56792: 20: 2);
akan terlihat seperti (dengan 11 ruang di depan):
573.549,57