String merupakan salah satu tipe variabel dalam Delphi yang memiliki anggota berupa karakter alphanumeric (angka dan huruf). Jika variabel ‘char’ hanya memiliki anggota satu anggota, maka variabel ‘string’ ini mirip dengan variabel char namun memiliki banyak anggota. Contoh variabel char : ‘a’, ‘b’, ‘1’, ‘2’, dst. Contoh variabel string : ‘abc’, ‘satu’, ‘1234’, dst. Khusus untuk variabel bertipe string yang berisikan data angka (‘1’, ‘2’, ‘3’, dst), tidak dapat dioperasikan dengan operand aritmatika (+, -, *, /) kecuali dikonversi menjadi variabel integer dengan function ‘strtoint’. Khusus untuk operand ‘+’ dapat dioperasikan untuk variabel string tetapi hasilnya juga bertipe string, bukan bertipe integer. Misal ada variabel ‘A’ dan ‘B’ bertipe string, [AdSense-A]
A := 1;
B : = 2;
C := A + B;
Maka C akan bernilai ‘12’ bukan ‘3’ (perhatikan tipe variabel A dan B yang bertipe string)
Dalam perkembangannya, dalam Delphi sudah disediakan beberapa function (fungsi) manipulasi string untuk memudahkan mengoperasikan variabel string sesuai dengan fungsi aplikasi. Berikut ini adalah fungsi-fungsi dasar manipulasi string yang sering saya pakai untuk mengolah sebuah variabel string sesuai keinginan.
1. Pos (substr, str):integer;
‘Pos’ merupakan sebuah function untuk mencari substring ‘substr’ di dalam string ‘str’. Jika function ini dipanggil dan menemukan substring yang dicari akan menghasilkan sebuah nilai kembalian (return value) berupa index substring ‘substr’ dalam string ‘str’. Perlu untuk Anda ketahui function ‘Pos’ ini hanya dapat mencari substring yang pertama kali ditemukan dalam sebuah string. Jika dalam string tersebut ada dua (atau lebih) substring yang sama, maka yang ditemukan adalah substring yang pertama, dan jika tidak ditemukan substring yang dimaksud maka function ‘pos’ akan mengembalikan nilai 0. Contoh :
Var str:string;
A : integer;
Begin
str:=’kuku kaki kakekku kaku kaku’; //(perhatikan ada dua substring ‘kaku’ di sini)
A:=Pos (‘kaku’, str);
End;
Maka A akan bernilai 19 (index substring ‘kaku’ yang pertama).
2. PosEx (substr, str, index):integer;
Function ‘PosEx’ hamper sama dengan function ‘Pos’ hanya saja ada tambahan parameter index sebagai penanda dimulainya pencarian substring. Fungsinya adalah mencari substring yang kedua (dan berikutnya) jika ada substring yang sama dalam sebuah string. Contoh:
Var str : string;
A, B : integer;
Begin
str:=’kuku kaki kakekku kaku kaku’; //(perhatikan ada dua substring ‘kaku’ di sini)
A:=Pos (‘kaku’, str);
B:=PosEx (‘kaku’, str, A+1);
End;
Maka A akan bernilai 19 (index substring ‘kaku’ yang pertama) dan B akan bernilai 24 (index substring ‘kaku’ yang kedua.)
3. Copy (str, index, count);
Procedure ‘Copy’ digunakan untuk menyalin sebuah substring dari variabel string ‘str’ dimulai dari indeks ‘index’ sebanyak ‘count’ karakter. Contoh :
Var str, hasil : string;
Begin
str:=’kuku kaki kakekku kaku kaku’;
hasil:=copy (str,6,4);
End;
Maka variabel ‘hasil’ akan berisi nilai ‘kaki’.
4. Delete (str, index, count);
Procedure ‘Delete’ digunakan untuk menghapus sebuah substring dari variabel string ‘str’ dengan indeks ‘index’ sejumlah ‘count’ karakter. Contoh :
Var str, hasil : string;
Begin
str:=’kuku kaki kakekku kaku kaku’;
hasil:=delete (str,6,4);
End;
Maka variabel ‘hasil’ akan berisi nilai ‘kuku kakekku kaku kaku’.
6. Insert (substr, str, index);
Procedure ‘Insert’ digunakan untuk menambahkan suatu substring ‘substr’ ke dalam variabel string ‘str’, dimulai dari indeks ‘index’. Contoh :
Var str, hasil : string;
Begin
str:=’kuku kaki kakekku kaku kaku’;
hasil:=insert (‘kanan ’, str, 11);
End;
Maka variabel ‘hasil’ akan berisi nilai ‘kuku kaki kanan kakekku kaku kaku’.
7. ReplaceStr (str, substr_asal, substr_pengganti);
Procedure ‘ReplaceStr’ digunakan untuk mengganti substring ‘substr_asal’ menjadi ‘substr_pengganti’ dalam sebuah variabel string ‘str’. Contoh :
Var str, hasil : string;
Begin
str:=’kuku kaki kanan kakekku kaku kaku’;
hasil:=ReplaceStr (str, ‘kanan ’, ‘kiri’);
End;
Maka variabel ‘hasil’ akan berisi nilai ‘kuku kaki kiri kakekku kaku kaku’. Demikianlah beberapa fungsi dasar manipulasi string yang seriang saya gunakan dalam aplikasi yang saya buat. Sebagai tambahan informasi mulai versi Delphi 2006 (kalau tidak salah ya) variabel string sudah berkembang menjadi AnsiString yang berukuran 64 bit untuk mengadopsi karakter Unicode (karakter Arabic, huruf kanji Jepang, dll). Fungsi-fungsi manipulasi stringnya juga berkembang menyesuaikan tipe variabelnya.
[AdSense-A]
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
assalamualaikum
mas saya mau nanya… saya membuat program kalkulator sederhana dengan menggunakan delphi….
yang ingin saya tanya…. bagaimana membuat program apabila awal nya perintah yang di mksd kan adalah penjumlahan tapi di tukar dengan pngurangan… program saya tidak memberikan hasil untuk kondisi yang demikian…. terima kasih sebelumnya mas..
wass. wr wb. maksudnya gimana mas? saya belum paham
mas.. mau tanya.. kalo mau mengubah tipe data dari String ke char gimana ya fungsinya ?
MIsal hasilString : String; HasilChar : char;
nilai dari hasilString := ‘5’;
agar ‘5’ bisa dibaca sebagai type char fungsinya pakai apa ? terima kasih
sy kurang paham maksudnya pengin apa. Tp coba compile script di bawah, mungkin menjawab pertanyaannya:
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
c:char;
begin
s:=’coba’;
c:=s[2];
edit1.Text:=c;
end;
tinggal mengubah2 indeks variabel string kemudian disalin ke var char, contoh: s[1] atau s[2] dst. Moga2 membantu 🙂
bang saya mau tanya cara agar mencari string yang sama pada dua kata
nilai1 := ‘A F C’
nilai2 := ‘F’
bagai mana caranya agar nanti pas program dijalankan yang Keluar hutuf ‘F’
dan jika
nilai1 : ‘CSD’
nilai2 := F
maka hasilnya := kosong atau tidak ada
Bang Mau tanya, bagaimana kodenya jika ketika menulis dalan notpad 1 setiap huruf A berubah jadi K semua di notpad 2, mohon bimbingannya.
intinya diganti aja nilai ASCII karakter A menjadi K saat terjadi event penekanan tombol (keystroke)