STRING
String merupakan kumpulan karakter , berbentuk array yang dimulai dengan indeks 1
Misalkan terdapat string S sebagai berikut:
P
|
A
|
S
|
C
|
A
|
L
|
String ‘PASCAL’ di atas merupakan array di mana S[1] = P, S[2] = A, S[3] = S, S[4] = C, S[5] = A, S[6] = L
OPERASI STRING
¨ Menggabung String
Di dalam bahasa Pascal, penggabungan dua buah string atau lebih dapat dilakukan dengan dua cara, yaitu dengan menggunakan operator plus (+) dan dengan menggunakan fungsi concat, yang memiliki bentuk deklarasi sebagai berikut:
Function concat(s1[,s2, … , sn]:string):string;
Contoh : ‘D3’ + ‘STATERKOM’ dapat juga dituliskan dengan
Concat(‘D3’,’STATERKOM’)
¨ Menghapus Substring
Untuk melakukan penghapusan substring dari suatu string, dapat digunakan prosedur delete yang memiliki bentuk deklarasi sebagai berikut:
Procedure delete (var S:string; i,n : integer);
Prosedur tersebut akan menghapus substring sebanyak n karakter dari string S mulai dari posisi ke-i.
¨ Menyalin string
Proses penyalinan string dilakukan dengan fungsi copy yang memiliki bentuk deklarasi sebagai berikut:
Function copy(S:string; i,n :integer) : string
Fungsi ini akan melakukan penyalinan substring dari string S sebanyak n karakter dimulai dari posisi atau indeks ke-i.
¨ Menyisipkan string
Untuk melakukan penyisipan substring ke dalam string tertentu adlah dengan menggunakan prosedur insert, yang memiliki bentuk deklarasi sebagai berikut:
Procedure insert(S1:string; var S2: string; i : integer);
Prosedur di atas akan menyisipkan string S1 ke dalam S2 pada posisi ke-i.
¨ Mendapatkan posisi string
Untuk mengetahui posisi substring di dalam suatu string, maka digunakan fungsi Pos yang memiliki bentuk deklarasi sebagai berikut:
Function Pos (substr : string; S : string) : byte;
Fungsi tersebut akan mengembalikan indeks berupa nilai (bertipe integer) yang merupakan posisi dari substring yang dicari.
¨ Mendapatkan panjang string
Panjang sring merupakan jumlah karakter yang terdapat di dalam suatu string. Untuk mendapatkan panjang string dalam bahasa Pascal digunakan fungsi length yang memiliki bentuk deklarasi sebagai berikut:
Function length(S:string):integer;
Fungsi tersebut akan mengembalikan panjang string S.
¨ Konversi Bilangan ke String atau sebaliknya
Untuk mengkonversi suatu bilangan menjadi string dapat dilakukan dengan menggunakan prosedur Str yang memiliki bentuk deklarasi sebagai berikut:
Procedure Str(Bilangan[:Lebar[:Desimal]];var StHasil:string);
v Bilangan adalah nilai numeris yang akan dikonversi
v StHasil adalah variable yang akan menerima hasil konversi
Sedangkan untuk mengkonversi string ke bilangan dapat digunakan prosedur val yang memilki bentuk deklarasi sebagai berikut:
Procedure val(St; var V; var Kode):integer;
v St adalah string yang berisi bilangan
v V adalah variable yang akan diisi dengan nilai numeris dari St
v Kode adalah variable yang akan diisi dengan nilai numeris yang menyatakan ada tidaknya kesalahan sewaktu pengkonversian. Variable ini berisi nol kalau St berhasil dikonversi. Nilai selain nol menyatakan letak kesalahan
¨ Konversi ke kapital
Untuk mengkonversi dari huruf kecil menjadi huruf capital dapat digunakan fungsi Upcase dengan argumen bertipe char memberikan hasil berupa huruf capital dari argumennya.Sekiranya argumen tidak berupa huruf kecil, nilai balik fungsi ini akan sama dengan argumennya.
¨ Karakter ke ASCII atau sebaliknya
Dua fungsi yang berkaitan dengan pengkonversian karakter ke nilai ASCII dan sebaliknya adalah Ord dan Chr.
v Ord memberikan nilai ASCII dari sebuah karakter
v Chr mendapatkan karakter berdasarkan suatu nilai ASCII
Contoh : Ord(‘A’) memberikan hasil 65
Chr(65) memberikan hasil ‘A’
TUGAS STRING
v Jalankan TPW
v Tuliskan kode program berikut ini
Program string1;
Uses wincrt;
Var
Kata_1, Kata_2, Kata_4, Hasil : String;
Spasi : String[1];
Begin
ClrScr;
Spasi := ' ';
Kata_2 := 'Latin';
Kata_1 := 'Concatenate';
Kata_4:= 'join';
{Menggunakan tanda + untuk menggabungkan kata}
Hasil := Kata_1 + Spasi + 'is' + Spasi + Kata_2 + ' for ' + Kata_4;
WriteLn(Hasil);
End.
v Simpan kode program diatas dengan nama string1.pas kedalam folder anda!
v Jalankan kode program tersebut dan lihat hasilnya di layar
Program string2;
Uses wincrt;
Var
Tgl : String;
Day, Month, Year, Error_code : Integer;
Begin
ClrScr;
WriteLn('Masukkan tanggal dalam bentuk: MM-DD-YY : ');
ReadLn(Tgl);
{konversi bulan}
Val(Copy(Tgl, 1, 2), Month, Error_code);
{konversi hari}
Val(Copy(Tgl, 4, 2), Day, Error_code);
{konversi tahun}
Val(Copy(Tgl, 7, 2), Year, Error_code);
{Cetak Hasil}
WriteLn('Tanggal sekarang adalah: ');
WriteLn(' Month = ', Month);
WriteLn(' Day = ', Day);
WriteLn(' Year = ', Year + 2000);
End.
v Simpan kode program diatas dengan nama string2.pas kedalam folder anda!
v Jalankan kode program tersebut dan lihat hasilnya di layar
Program string3;
Uses wincrt;
Var
Tgl, Temp_1, Temp_2, Temp_3 : String;
Day, Month, Year : Integer;
Begin
ClrScr;
WriteLn('Memasukkan tanggal: ');
Write(' Month = '); ReadLn(Month);
Write(' Day = '); ReadLn(Day);
Write(' Year = '); ReadLn(Year);
{ convert month }
Str(Month, Temp_1);
{ convert day }
Str(Day, Temp_2);
{ convert year }
Str(Year, Temp_3);
Tgl := Concat(Temp_1, '-', Temp_2, '-', Temp_3);
{ print out Hasil }
WriteLn('Tanggalnya adalah : ', '''', Tgl, '''');
End.
v Simpan kode program diatas dengan nama string3.pas kedalam folder anda!
v Jalankan kode program tersebut dan lihat hasilnya di layar
program kapital2kecil;
uses wincrt;
var
posisi : integer;
kalimat : string;
kar : char;
begin
clrscr;
kalimat := '2 * 2 SAMA DENGAN 4';
writeln('SEMULA : ',kalimat);
for posisi := 1 to length(kalimat) do
begin
kar := kalimat[posisi];
if (kar >= 'A') AND (kar <= 'Z') then
begin
kar := chr(ord(kar) + 32);
kalimat[posisi] := kar;
end;
end;
writeln ('HASIL : ',kalimat);
end.
v Simpan kode program diatas dengan nama kap2kcl.pas kedalam folder anda!
v Jalankan kode program tersebut dan lihat hasilnya di layar
TUGAS:
Buatlah program dalam bahasa Pascal dan C++ untuk soal-soal berikut ini.
1. Buatlah program untuk membalik suatu string. Misalnya string ‘SELAMAT BELAJAR’ diubah menjadi ‘RAJALEB TAMALES’
2. Buatlah program yang meminta suatu string dimasukkan dari keyboard, kemudian program melaporkan:
§ Jumlah huruf kapital
§ Jumlah huruf kecil
3. Buatlah program yang mengkonversi setiap huruf kecil menjadi huruf capital dan setiap huruf capital menjadi huruf kecil. Contoh:
‘Turbo Pascal’ menjadi ‘tURBO pASCAL’
4. Asumsikan bahwa terdapat string MATEMATIKA, buat program yang memanipulasi string sehingga menghasilkan output seperti di bawah ini:
M
M-A
M-A-T
M-A-T-E
M-A-T-E-M
M-A-T-E-M-A
M-A-T-E-M-A-T
M-A-T-E-M-A-T-I
M-A-T-E-M-A-T-I-K
M-A-T-E-M-A-T-I-K-A
0 Komentar untuk "Operasi String pada Pascal"
Silahkan berkomentar sesuai artikel