Tujuan Pembelajaran Rangkuman Kegiatan Belajar 2. Operasi string Alokasi Waktu : 2 x 45 Menit

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