Penghapusan Substring
Operasi penghapusan adalah proses menghapus sebagian karakter atau substring yang dimulai dari posisi x sebanyak n karakter. Prosedurnya bernama delete. Berikut adalah sintaknya :
Keterangan : string, nilai yang string akan dihapus substringnya
x, posisi awal substring yang akan dihapus n, banyaknya karakter yang akan dihapus
Berikut adalah contoh penghapusan substring :
Menyisipkan Substring
Operasi penyisipan adalah proses menyisipkan sebagian karakter atau substring ke dalam substring yang lain yang dimulai dari posisi x. Prosedurnya bernama insert. Berikut adalah
sintaknya :
Keterangan : string1, nilai string yang akan disisipkan
string2, nilai string yang akan mendapat sisipan dari string1 n, posisi karakter string2 yang akan mendapat sisipan dari string1
deletestring,x,n;
program hapus; var n: string;
begin n:=’aris’;
dihapus substring dari string dengan variabel n deleten,2,2;
writelnn; end.
output yang dikeluarkan adalah as
insertstring1,string2,n;
Berikut adalah contoh penyisipan substring :
Penyalinan Substring
Operasi penyalinan adalah proses menyalin sebagian karakter atau substring yang dimulai dari posisi x sebanyak n karakter. Prosedurnya bernama copy. Berikut adalah deklarasinya :
Keterangan : string, nilai string akan disalin
x, posisi awal substring yang akan disalin n, banyaknya karakter yang akan disalin
Berikut adalah contoh penyisipan substring :
Mendapatkan Posisi String
Operasi ini berfungsi untuk mencari posisi suatu substring di dalam string dengan output data berupa integer. Operasi ini akan mengembalikan nilai indeks substring ke dalam string jika
string mengandung substring yang dicari. Dalam susbstring tidak ditemukan, nilai 0 akan dikembalikan. Prosedurnya bernama pos. Berikut adalah deklarasinya :
copystring,x,n; program sisipan;
var n,m: string; begin
n:=’aris’; m:=’wara’;
disisipkan string variabel m ke string variabel n insertm,n,2;
writelnn; end.
output yang dikeluarkan adalah awararis
program copy; var n,m: string;
begin n:=’ariswara’;
disalin substring dari string variabel n m:=copyn,2,2;
writelnm; end.
output yang dikeluarkan adalah ri
possubstring,string;
Keterangan : string, nilai string akan dicari posisi substringnya
substring, nilai substring yang akan dicari posisinya
Berikut adalah contohnya :
Menghitung Panjang String
Menghitung panjang string atau banyaknya karakter dalam sring dapat dilakukan menggunakan fungsi length. Berikut deklarasi dari fungsi length :
Keterangan : string, nilai string akan dicari panjangnya
Berikut adalah contohnya : program posisi_string;
var n: string; begin
n:=’ariswara sita riyanda’; dicari substring sita dalam string variabel n
writelnpos‘sita’,n; end.
output yang dikeluarkan adalah 0
program panjang_string; var n: string;
panj: integer; begin
n:=’ariswara sita riyanda’; panj:=lengthn;
writelnpanj;
end. {output yang dikeluarkan adalah
} lengthstring;
Membandingkan Dua Buah String
Membandingkan elemen dua string dapat dilakukan dengan cara membandingkan banyaknya elemen karakter dalam string terlebih dahulu untuk kemudian membandingkan tiap
elemen dalam string. Berikut adalah contohnya :
Dan berikut ini adalah beberapa operasi operasi string yang lain. No
Fungsi dan Prosedur String
1. Fungsi AnsiCompareStr const s1:; const s2: : integer;
Membandingkan dua buah string
2. Fungsi AnsiCompareText const s1:; const s2: : integer;
Membandingkan dua buah string yang tidak sensitif terhadap huruf program perbandingan_string;
uses crt; var i:integer;
s,t:string; begin
s:=sekolah; t:=sekulah;
if lengths=lengtht then begin
wri
teln‘string s : ,s; writelnstring t : ,t;
membandingkan string s dengan string t memanfaatkan panjang string
for i:=1 to lengths do begin
if s[i]=t[i] then begin
writelnelemen ke ,i, adalah ,t[i]; end
else begin
writelnelemen ke ,i, adalah ,t[i], tidak sama; end;
end; end;
readln; end.
output yang dikeluarkan adalah: string s : sekolah
string x : SekOlaH elemen ke 1 adalah s
elemen ke 2 adalah e elemen ke 3 adalah k
elemen ke 4 adalah u tidak sama elemen ke 5 adalah l
elemen ke 6 adalah a elemen ke 7 adalah h
3. Fungsi AnsiExtractQuotedStr var Src: PChar; Quote: Char:;
Menghapus kutipan dalam string
4. Fungsi AnsiLastChar const s: : PChar;
Mengambil karakter terakhir dari string
5. Fungsi AnsiLowerCase const s: :
Mengubah string menjadi huruf kecil semua
6. Fungsi Ansi QuotedStr const s:; Quote: Char :;
Kutipan sebuah string
7. Fungsi AnsiStrComp s1: PChar; s2: PChar : integer;
Membandingkan string yang sensitif terhadap huruf
8. Fungsi AnsiStrIComp s1: PChar; s2: PChar : integer:
Membandingkan string yang tidak sensitif terhadap karakter
9. Fungsi AnsiStrLComp s1: PChar; s2: PChar; MaxLen: Cardinal : integer;
Membandingkan L karakter dari string yang sensitif terhadap huruf
10. Fungsi AnsiStrLIComp s1: PChar; s2: PChar; MaxLen: Cardinal : integer;
Membandingkan L karakter dari string yang tidak sensitif terhadap huruf
11.
Fungsi AnsiStrLastChar Str: PChar : PChar; Mengambil karakter terakhir dari string
12. Fungsi AnsiStrLower Str: PChar : PChar;
Mengubah string menjadi huruf kecil semua
13. Fungsi AnsiStrUpper Str: PChar : PChar;
Mengubah string menjadi huruh besarkapital semua
14. Fungsi AnsiUpperCase const s :;
Mengubah string menjadi huruf besarkapital semua
15. Prosedur AppendStr var Dest:; const s: ;
Menyisipkan dua karakter string
16. Prosedur AssignStr var P: PString; const s: ;
Memberikan nilai dari string yang berada pada rangkaian
17. Fungsi CompareStr const s1:; const s2: : integer; overload;
Membandingkan dua string yang sensitif terhadap huruf
18. Fungsi CompareText const s1:; const s2: : integer;
Membandingkan dua string yang tidak sensitif terhadap huruf
19. Prosedur DisposeStr s : PString ; overload;
Menghapus string dari rangkaian
20.
Prosedur DisposeStr s: PShortString ; overload; Menghapus string dari rangkaian
21. Fungsi IsValidIdent const Ident: : Boolean;
String pengidentifikasi bahasan pascal yang sah
22. Fungsi LastDelimiter const Delimiters: ; const s: : integer;
Memunculkan karakter terakhir di dalam string
23. Fungsi LeftStr const s:; count: integer :;
Mengambil N karakter pertama dalam string
24. Fungsi LoadStr Ident: integer :;
Membuka string dari asalnya
25. Fungsi LowerCase const s:; overload;
Mengubah string menjadi huruf kecil semua
26. Fungsi LowerCase constV: variant :; overload;
Mengubah string menjadi huruf kecil semua
27. Fungsi NewStr const s: : PString; overload;
Menempatkan string baru ke dalam rangkaian
28. Fungsi RightStr const s:; count: integer :;
Mengambil N karakter terakhir dari string
29.
Fungsi StrAlloc size: cardinal : PChar; Menempatkan memori dari string
30. Fungsi StrBufSize Str: PChar : SizeUInt;
Mencadangkan memori dari string
31. Prosedur StrDispose Str: PChar ;
Menghapus string dari rangkaian
32. Fungsi StrPas Str: PChar :;
Mengubah Pchar menjadi string
33. Fungsi StrPCopy Dest: PChar; Source: : PChar;
Menyalin string
34. Fungsi StrPLCopy Dest: PChar; Source:; MaxLen: SizeUInt : PChar;
Menyalin N bytes dari string
35. Fungsi UpperCase const s: :;
Mengubah string menjadi huruf besarkapital semua
3.2.2.2. Menanya
1. Jika dua string kita dikenai operator +, apakah yang terjadi? 2. Coba kita cari kata ‘Malang’ dari kata ‘Pemalang’, apakah yang terjadi ?
3. Akan kita bandingkan kata surakarta dengan SURAKARTA, apakah memiliki nilai yang sama atau tidak ?
3.2.2.3. Mencoba
Percobaan 1
Untuk mengetahui jawaban dari pertanyaan pertama yaitu penggunaan operator ‘+’ pada
dua string, salin dan lengkapilah program berikut ke dalam Freepascal, kemudian lakukan
kompilasi Compile Alt+F9. Jika kompilasi menghasilkan pesan kesalahan maka perhatikan kesalahan yang terjadi. Jika kompilasi berhasil lanjutkan dengan menjalankan program Ctrl+F9
dan amati hasilnya. Program StringPlus;
var nama1,nama2,nama3, data : string; begin
nama1:=’aris’; nama2:=’wara’;
nama3:=nama1+nama3; writelnnama3;
data:=’1’+’2’; writelndata;
readln; end.
Hasil Percobaan StringPlus
Hasil Kompilasi beri tanda silang pada bagian yang sesuai Berhasil, tanpa kesalahan
Tidak berhasil, ada kesalahan
Output Program:
Percobaan 2
Untuk mengetahui jawaban dari pertanyaan kedua, salin dan lengkapilah program berikut ke dalam Freepascal, kemudian lakukan kompilasi Compile Alt+F9. Jika kompilasi menghasilkan pesan
kesalahan maka perhatikan kesalahan yang terjadi. Jika kompilasi berhasil lanjutkan dengan menjalankan program Ctrl+F9 dan amati hasilnya.
program Cari_substring; var n: string;
begin n:=’Pemalang’;
dicari substring Malang dalam string Pemalang writelnpos‘Malang’,n;
end.
Hasil Percobaan Program Cari_substring :
Hasil Kompilasi beri tanda silang pada bagian yang sesuai Berhasil, tanpa kesalahan
Tidak berhasil, ada kesalahan
Output Program:
Percobaan 3
Untuk mengetahui jawaban dari pertanyaan ketiga, salin dan lengkapilah program berikut ke dalam Freepascal, kemudian lakukan kompilasi Compile Alt+F9. Jika kompilasi menghasilkan
pesan kesalahan maka perhatikan kesalahan yang terjadi. Jika kompilasi berhasil lanjutkan dengan menjalankan program Ctrl+F9 dan amati hasilnya.
program BandingString; uses sysutils;
var kota1,kota2: string; banding:longint;
begin kota1:=SURAKARTA;
kota2:=surakarta;
membandingkan kota1 dengan kota2 banding:=comparestrkota1,kota2;
writekota1, adalah ; if banding0 then
begin writekurang dari ;
end else if banding=0 then
begin writesama dengan ;
end else
begin writelebih dari ;
end; writelnkota2; readln;
end.
Hasil Percobaan Program BandingString :
Hasil Kompilasi beri tanda silang pada bagian yang sesuai Berhasil, tanpa kesalahan
Tidak berhasil, ada kesalahan
Output Program:
3.2.2.4. Mengasosiasi
Pada Percobaan 1, perhatikan hasil eksekusinya Adakah kesamaan hasilnya ? Informasi apakah yang dapat kamu ambil ?
Pada Percobaan 2, perhatikan hasil eksekusinya Informasi apakah yang dapat kamu ambil ? Mengapa tidak ditemukan kata
‘Malang’ dari string ‘Pemalang’? Pada Percobaan 3, perhatikan hasil eksekusinya Informasi apakah yang dapat kamu ambil?
3.2.3. Rangkuman
1. Jika sebuah tipe data string dideklarasikan, tipe data string memiliki panjang maksimal 30 karakter dimulai dari indeks ke-1 hingga indeks ke-30. Indeks ke-0 merupakan indeks yang
mengandung informasi banyaknya karakter yang tersimpan dalam string. Oleh karena itu, untuk mengetahui panjang karakter dalam string dugunakan kode untuk mengakses elemen string
indeks ke-0. 2. Untuk menggabungkan dua buah string menjadi string yang baru operasi string memiliki
operator +. Di dalam string, operator string + hanya berfungsi untuk menggabungkan dua buah string bukan untuk menjumlahkan.
3. Dalam string mengandung karakter 8 bit ASCII dimana karakter huruf kapital nilainya berbeda dengan huruf kecil. Jika kita membandingkannya huruf kapital tidak sama dengan huruf kecil.
4. Dalam menentukan posisi substring, apabila susbstring yang kita cari tidak ditemukan, nilai 0 akan dikembalikan atau saat kita eksekusi outputnya adalah 0.
5. Untuk membandingkan dua buah string, operator =, , , =, =, dan dapat digunakan untuk membandingkan elemen karakter dalam string.
3.2.4. Tugas Tugas 1 : Individu
Buatlah sebuah progam sederhana memanfaatkan operasi string untuk mengambil karakter kanan dan kiri dari sebuah rangkaian karakter
Tugas 2 : Kelompok
Buatlah sebuah progam sederhana memanfaatkan operasi string untuk membalikkan kata, misal makan menjadi nakam.
3.2.5. Uji Kompetensi
1. Jelaskan prosedur penggabungan dua buah string ? 2. Jelaskan prosedur menghitung panjang string ?
3. Sebutkan dan jelaskan operator perbandingan string ?
3.3. Kegiatan Belajar 3. Pemanfaatan String Dalam Aplikasi Alokasi Waktu : 2 x 45 menit
3.3.1. Tujuan Pembelajaran
Dalam kegiatan belajar ini siswa diharapkan dapat: 1 Mengetahui penerapan dari operasi string
2 Membuat aplikasi sederhana dengan menerapkan operasi string
3.3.2. Aktivitas Belajar Siswa 3.3.2.1. Mengamati
Operasi string mempunyai banyak manfaatnya di kehidupan sehari-hari. Kita telah mengetahui bahwa palindrom adalah sebuah kata, frasa, angka maupun susunan lainnya yang
dapat dibaca dengan sama baik dari depan maupun belakang spasi antara huruf-huruf biasanya diperbolehkan. Kata-kata yang termasuk palindrom misalnya: ada, apa, ara, asa, bab, ini, katak,
kodok, makam, malam, radar, taat, dll. Dalam bab sebelumya kita juga telah membuat pemrograman palindrom.
3.3.2.2. Menanya
1. Bagaimana membuat pemrograman palindrom menggunakan operasi string? 2. Bagaimana penerapan string dalam aplikasi bisnis ? Berikut adalah daftar gaji sebuah
perusahaan berdasarkan jabatannya Jabatan
Gaji Tunjangan
Direktur 5000000
25 gaji
Manager 3000000
10 dari gaji
Karyawan 1500000
5 dari gaji Dikenakan PPN sebesar 10 dan gaji bersih didapat dari gaji ditambah tunjangan dikurangi
PPN. Hitung gaji bersih tiap jabatan tersebut
3.3.2.3. Mencoba
Percobaan 1
Untuk mengetahui jawaban dari pertanyaan pertama, salin dan lengkapilah program berikut ke dalam Freepascal, kemudian lakukan kompilasi Compile Alt+F9. Jika kompilasi menghasilkan
pesan kesalahan maka perhatikan kesalahan yang terjadi. Jika kompilasi berhasil lanjutkan dengan menjalankan program Ctrl+F9 dan amati hasilnya.
program StringPalindrom; var i,n: integer;
kata1,kata2:string; begin
input kata yg akan dicek writelnmasukkan kata: ;
readlnkata1; kata2:=;
copy kata1 ke kata2 secara urutan terbalik