beberapa fungsi penting Operasi String dan char tuh diantaranya
function Length(S): Integer;
function Copy(S; Index, Count: Integer): string;
function LeftStr(const AText: string; ACount: Integer): string; // Tambahin StrUtils di uses
function RightStr(const AText: string; ACount: Integer): string; // Tambahin StrUtils di uses
function Pos(Substr: string; S: string): Integer;
function Chr(X: Byte): Char;
function Ord(X);
Fungsi Length(S): integer;
berguna untuk mendapatkan panjang string...
contoh:
...
var s : string;
...
s := 'SAYA PERGI KE PASAR';
Writeln(length(s)); // hasilnya adalah 19
s := 'SAYA';
Writeln(length(s)); // hasilnya adalah 4
function Copy(S; Index, Count: Integer): string;
berguna untuk mengkopi suatu string dari posisi tertentu sampai beberapa huruf berikutnya.
contoh:
...
var s : string;
...
s := 'SAYA PERGI KE PASAR';
Writeln(copy(s,1,4)); // hasilnya adalah SAYA
Writeln(copy(s,6,5)); // hasilnya adalah PERGI
Writeln(copy(s,3,2)); // hasilnya adalah YA
function LeftStr(const AText: string; ACount: Integer): string;
berguna untuk mengkopi suatu string dari posisi paling depan sampai beberapa huruf berikutnya.
contoh:
...
var s : string;
...
s := 'SAYA PERGI KE PASAR';
Writeln(LeftStr(s,4)); // hasilnya adalah SAYA
Writeln(copy(s,10)); // hasilnya adalah SAYA PERGI
function RightStr(const AText: string; ACount: Integer): string;
berguna untuk mengkopi suatu string dari posisi paling belakang sampai beberapa huruf sebelumnya.
contoh:
...
var s : string;
...
s := 'SAYA PERGI KE PASAR';
Writeln(RightStr(s,5)); // hasilnya adalah PASAR
Writeln(copy(s,2)); // hasilnya adalah AR
function Pos(Substr: string; S: string): Integer;
berguna untuk mencari letak suatu pola string yang diinginkan (Substr) didalam suatu string (S), pencarian suatu pola pasti dilakukan dari yang terdepan.
jika pola string tidak ditemukan hasil dari pos adalah 0.
contoh:
...
var s : string;
...
s := 'SAYA PERGI KE PASAR';
Writeln(POS('PASAR', S)); // hasilnya adalah 15
Writeln(POS('YA', S)); // hasilnya adalah 3
pasti ada pertanyaan gimana sih pos ngehasilin letak pola string lebih dari satu...
contoh:
s := 'SAYA PERGI KE PASAR DENGAN IBU SAYA';
Writeln(POS('YA', S)); // hasilnya adalah 3
hasil POS yang diatas adalah posisi YA dari kata SAYA yang pertama yatu 3,
terus gimana kalo mau ngehasilin YA dari kata SAYA yang ke tujuh yaitu 34?, kasus seperti ini tidak bisa diselesaikan dengan fungsi Pos, melainkan dengan fungsi PosEX
function Chr(X: Byte): Char;
fungsi Chr adalah sebuah fungsi yang akan menghasilkan karakter ASCII dari kode ASCII yang dimasukan dalam variabel X.
contoh:
Writeln(Chr(65)); // <- hasilnya adalah A
Writeln(Chr(97)); // <- hasilnya adalah a
Writeln(Chr(48)); // <- hasilnya adalah 0
function Ord(X);
fungsi Ord adalah kebalikan dari fungsi Chr yaitu sebuah fungsi yang akan menghasilkan kode ASCII dari karakter ASCII yang dimasukan dalam variabel X.
contoh:
Writeln(Ord('A')); // <- hasilnya adalah 65
Writeln(Ord('Z')); // <- hasilnya adalah 90
Writeln(Ord('8')); // <- hasilnya adalah 56
oke sekian penjelasan yang singkat ini...
latihan soal adalah:
1. coba buat fungsi RightStrKu dan LeftStrKu yang hasilnya akan sama seperti fungsi RightStr, LeftStr tetapi hanya diperbolehkan memakai variabel dan fungsi Copy dan fungsi Length
2. coba buat fungsi UppercaseKu yang sama seperti Uppercase dengan menggunakan Fungsi Ord, Chr, Copy, Length.
Goodluck