Merupakan suatu data yang menyimpan array
(larik), sebagai contoh 'ABCDEF' merupakan sebuah konstanta string yang
berisikan 6 byte karakter. Ukuran Tempat untuk tipe data ini adalah 2 s/d 256
byte, dengan jumlah elemen 1 s/d 255. String dideklarasikan dengan string [
konstanta ] atau string. Bila ukuran string tidak didefinisikan maka akan
banyak memakan ruang, karena ukuran string menyesuaikan dengan defaultnya.
Misalkan
var kata: string [20]; atau var kata: string;
karena string merupakan array dari karakter. Maka kata[1] merupakan karakter
pertama dari string, kemudian kata[2], merupakan elemen kedua, dst.
Contoh:
Program hal_string;
Uses wincrt;
var s : string;
begin s:='Hello';
writeln(s);
writeln('panjang dari string adalah: ',ord(s[0]));
end.
Uses wincrt;
var s : string;
begin s:='Hello';
writeln(s);
writeln('panjang dari string adalah: ',ord(s[0]));
end.
Karakter nol merupakan karakter yang menyatakan
panjang string. Sehingga ord(s[0]) menyatakan panjang dari string tersebut.
Panjang string juga bisa dinyatakan sebagai length(s).
routines pada Pascal untuk manipulasi string :
-Length : menghasilkan panjang
string. routines pada Pascal untuk manipulasi string :
Syntax : length(s)
Contoh : n:=length(s);
Misal s:='pemrograman'; n akan sama dengan 11.
-Copy : mengkopi suatu ekstrak karakter dari sebuah string.
Syntax : copy(s,dari,banyaknya)
Contoh : st:=copy(s,5,3); mengekstrak 3 karakter dari s, dimulai dari karakter kelima.
Misal s:='Who are you ?'; st adalah 'are'.
catatan: bila indek lebih besar dari panjang string maka hasilnya akan kosong:
Contoh : st:=copy(s,15,4); { kosong} jika banyaknya string yang akan diekstrak lebih besar dari s, maka hasilnya adalah bagian yang tersisa dari string.
Contoh : st:=copy(s,9,10); st hasilnya adalah 'you ?'
-Pos : menghasilkan posisi dari suatu substring dari suatu string.
Syntax : Pos(substr,s)
Contoh : n:=pos('are','Who are you ?'); { n:=5; }
Jika substring tidak ditemukan, maka hasilnya 0.
-Val : mengkonversi string ke numerik.
Syntax : val(strvar,numvar,errorcode)
strvar adalah variabel string yang akan dikonversi, numvar variabel numerik ( bisa integer atau real, dan errorcode adalah variabel integer yang menyimpan error code (kode kesalahan). Jika errorcode adalah 0, konversi berhasil. Sebaliknya, hal ini akan menunjukan posisi dimana pada strvar yang menyebabkan kegagalan.
Contoh :
program konversiangka;
uses wincrt;
var s : string;
e : integer; r : real;
begin
write('masukkan angka : ');
readln(s);
val(s,r,e);
if e<>0 then writeln('salah pada posisi : ',e)
else writeln('itu adalah : ',r:4:3);
end.
-Str : mengkonversi numerik ke
string. uses wincrt;
var s : string;
e : integer; r : real;
begin
write('masukkan angka : ');
readln(s);
val(s,r,e);
if e<>0 then writeln('salah pada posisi : ',e)
else writeln('itu adalah : ',r:4:3);
end.
Syntax : str(numvar,strvar)
Contoh :
program konversiangka_1;
uses wincrt;
var s : string;
i : integer;
begin
write('masukkan angka: ');
readln(i);
str(i,s);
writeln('itu adalah: ',s);
end.
-Concat : Menggabungkan dua atau
lebih string. uses wincrt;
var s : string;
i : integer;
begin
write('masukkan angka: ');
readln(i);
str(i,s);
writeln('itu adalah: ',s);
end.
Syntax : concat(s1,s2,...,sn)
Contoh : st:=concat(s1,s2); Jikas1='ABC' dan s2='DEF',
st akan menjadi 'ABCDEF' st:=concat('Borland ','Pascal ','ver. ','7.0'); akan menjadi 'Borland Pascal ver. 7.0'
-Insert : Menyisipkan suatu string ke dalam string yang lain.
Syntax : insert(asal,target,indek)
Contoh :
program sisip ;
uses wincrt;
var s1, s2 : string;
begin
s1:='tidak ';
s2:='saya bekerja';
insert(s1,s2,6);
writeln(s2); {saya tidak bekerja }
end.
-Delete : menghapus n karakter dari string s berawal dari indek i.
Syntax : delete(s,i,n);
Contoh :
program hapus;
uses wincrt;
var s : string;
begin
s:='saya seorang insinyur';
delete(s,6,3);
writeln(s); { 'saya sang insinyur'}
end.
uses wincrt;
var s : string;
begin
s:='saya seorang insinyur';
delete(s,6,3);
writeln(s); { 'saya sang insinyur'}
end.
-Fillchar : mengisi string s dengan karakter c sampai s sama dengan n-1 panjang karakternya.
Syntax : fillchar(s,n,c); Hati-hati : s[0] akan tertumpuki, jangan lupa menambahkan s[0]:=chr(n-1); untuk menormalkannnya.
Contoh :
program isikarakter;
uses wincrt;
var s : string;
begin
fillchar(s,51,'=');
s[0]:=chr(50);
end.
uses wincrt;
var s : string;
begin
fillchar(s,51,'=');
s[0]:=chr(50);
end.
No comments:
Post a Comment