MENGENAL LEBIH LANJUT TENTANG BAB 7 MENGENAL LEBIH LANJUT TENTANG TIPE STRING
Sub bab : String pada Turbo Pascal/Delpi Console Konstanta String Pendeklarasian Tipe String Pembandingan String Mengakses Karakter dari String Fungsi dan Prosedur Standar Perihal String String Sebagai Parameter dan Hasil Fungsi
1. String pada Turbo Pascal/Delpi Console Hingga saat ini Anda sebenarnya telah berulangkali menggunakan string; misalnya pada pernyataan berikut: writeln(‘Algoritma Pemrograman’); Pada contoh di atas, ‘Algoritma Pemrograman’ adalah contoh string, tepatnya adalah konstanta string. Yang dimaksudkan dengan string adalah deretan sejumlah karakter apa saja dengan panjang maksimal sampai 255 karakter.
2. Konstanta String Telah diketahui bahwa suatu konstanta string ditulis dengan awalan dan akhiran tanda petik tunggal. Misalnya: ‘Algoritma Pemrograman’ . Bila suatu string mengandung karakter ‘ maka karakter ini perlu ditulis dua kali berurutan. Contoh: ‘Jum’’at’ untuk menyatakan Jum’at. Adakalanya suatu string tidak memiliki satupun karakter. String seperti ini disebut sebagai string kosong. Suatu string kiosong ditulis: “
3. Pendeklarasian Tipe String Suatu tipe string dideklarasikan dengan bentuk : TYPE NamaTipe = STRING[panjang_maksimal]; panjang_maksimal menyatakan jumlah karakter terbanyak yang bisa ditampung. Misalnya: NamaOrang = STRING[35]; Kalimat = STRING[255]; Pada contoh di atas: NamaOrang adalah tipe string yg dapat mengandung hingga 35 karakter. Kalimat adalah tipe string yg dapat mengandung hingga 255 karakter.
3. Pendeklarasian Tipe String Tipe string dapat menampung hingga 255 karakter dapat diganti hanya dengan kata-tercadang STRING. Contoh: TYPE Kalimat = STRING[255]; Identik dengan: Kalimat = STRING;
3. Pendeklarasian Tipe String Setelah suatu tipe string dideklarasikan pada bagian TYPE, Anda dapat memakainya pada bagian VAR. Contoh: VAR NamaMhs = NamaOrang; Setelah pendeklarasian ini, NamaMhs dapat menampung string yang panjangnya hingga 35 karakter. Suatu variabel juga dapat dideklarasikan dengan bentuk semacam berikut: NamaMhs : STRING[35];
Source code st1.dpr :
Hasil st1.dpr :
Tabel 1. Operator relasi untuk string 4. Pembandingan String Tabel berikut mencantumkan seluruh operator relasi yg dapat digunakan pada string dapat dilihat pada Tabel 1. Tabel 1. Operator relasi untuk string Operator Keterangan > Operator “lebih dari” < Operator “kurang dari” >= Operator “lebih dari atau sama dengan” <= Operator “kurang dari atau sama dengan” <> Operator “tidak sama dengan” = Operator “sama dengan”
4. Pembandingan String Ekspresi Hasil ‘YOGYA’=‘Yogya’ False Beberapa contoh pembandingan string dapat dilihat di bawah ini: Ekspresi Hasil ‘YOGYA’=‘Yogya’ False (Huruf kecil berbeda dengan huruf kapital) ‘YOGYA’=‘YOGYA’ True ‘AABCD’<>’ABCDE’ ‘2’>’12’ (bandingkan dengan 2>12 yg menghasilkan False) ‘ABCDE’<>’abcde’
5. Mengakses Karakter dari String Mekanisme pengaksesan suatu karakter di dalam string dilakukan melalui notasi: variabel[posisi_karakter] Posisi_karakter dapat berupa nol (0) hingga panjang maksimum string dari variabel. Sebagai contoh, dideklarasikan: VAR kata : STRING[6]; maka: kata[0] adalah karakter yg menyatakan panjang string aktual. kata[1] adalah karakter pertama dari string. kata[2] adalah karakter kedua dari string. kata[3] adalah karakter ketiga dari string. kata[4] adalah karakter keempat dari string. kata[5] adalah karakter kelima dari string. kata[6] adalah karakter keenam dari string.
Source code st3.dpr :
Hasil st3.dpr :
Cara memberikan nilai ‘AWAN’ ke kata sebenarnya tidak serumit yang dilakukan pada program di atas. Pernyataan: kata := ‘AWAN’; akan menyederhanakan langkah-langkah program st3.dpr. Namun bukan hal yg menjadi tujuan utama pembahasan ini. Program st3.dpr menggambarkan pengaksesan per karakter pada suatu string. Kunci untuk melakukan manipulasi adalah pada posisi nol dari variabel kata. Pada contoh program st3.dpr, pernyataan: kata[0] := #4; yang mengisikan karakter ber-ASCII 4 (#4) pada Kata [0] akan membuat string kata berisi ‘AWAN’ (panjang 4 karakter). Untuk memperoleh panjang string pada variabel kata, Anda dapat mengakses posisi nol pada Kata. Kata[0] akan menghasilkan karakter yg menyatakan panjang string pada variabel kata. Untuk memperoleh nilai numerisnya, Anda bisa menggunakan fungsi Ord. Contoh: Ord(‘A’) - -> 65
Source code st4.dpr :
Hasil st4.dpr :
6. Fungsi dan Prosedur Standar Perihal String Turbo Pascal/Delpi Console menyediakan sejumlah fungsi dan prosedur standar yg membuat pemanipilasian string dapat dilakukan dengan mudah. Tabel 2 mencantumlan fungsi dan prosedur standar yang berhubungan dengan string
Tabel 2. Fungsi dan Prosedur Standar untuk string Nama Kategori Keterangan Chr Fungsi Untuk memperoleh karakter berdasarkan nilai ASCII Concat Untuk melakukan penggabungan beberapa string (konkatenasi) Copy Untuk menyalin bagian tertentu dari sebuah string Insert Prosedur Untuk menyisipkan suatu string pada string lain Length Untuk memperoleh panjang string Pos Untuk mendapatkan posisi suatu string pada string yang lain Ord Untuk memperoleh nilai ASCII dari suatu karakter Str Untuk mengubah bilangan ke string UpCase Mengkonversi huruf kecil menjadi huruf kapital Val Untuk mengubah string angka ke bilangan
6. Fungsi dan Prosedur Standar Perihal String 6.1. Mengetahui Panjang String 6.2. Karakter ke ASCII atau sebaliknya 6.3. Menggabungkan String 6.4. Menyalin Bagian Suatu String 6.5. Menyisipkan String 6.6. Menghapus Bagian Suatu String 6.7. Posisi Suatu String pada String Lain
6.1. Mengetahui Panjang String Untuk mengetahui panjang string melalui posisi nol dari suatu variabel telah Anda ketahui. Selain menggunakan cara tersebut, ada cara lain yang lebih baik yaitu menggunakan fungsi Length. Bahkan fungsi ini dapat dipakai untuk memperoleh panjang dari suatu konstanta string. Deklarasi fungsi Length: FUNCTION Length(St: STRING): Integer;
6.1. Mengetahui Panjang String Beberapa contoh : Ekspresi Hasil Length(‘ABC’) 3 Length(‘ABCDE’) 5 Length(‘’) Length(‘A B’)
6.2. Karakter ke ASCII atau sebaliknya Dua fungsi yang berkaitan dengan pengkonversian karakter ke nilai ASCII dan sebaliknya adalah Ord dan Chr: Ord memberikan nilai ASCII dari sebuah karakter. Chr mendapatkan karakter berdasarkan suatu nilai ASCII.
6.2. Karakter ke ASCII atau sebaliknya Beberapa contoh : Ekspresi Hasil Ord(‘A’) 65 Ord(‘a’) 97 Ord(‘2’) Ord(65) ‘A’ Ord(97) ‘a’
Source code kar2bin.dpr :
Hasil kar2bin.dpr :
6.3. Menggabungkan String Operasi penggabungan string selain dapat dikerjakan dengan memakai operator +, juga dapat dilaksanakan dengan fungsi Concat. Sebagai contoh: ‘ALI’ + ‘BABA’ Dapat ditulis menjadi: Concat(‘ALI’ + ‘BABA’)
6.4. Menyalin Bagian Suatu String Untuk mengambil bagian tertentu dari suatu string, Anda bisa memanfaatkan fungsi bernama Copy. Fungsi ini mempunyai bentuk deklarasi sebagai berikut: FUNCTION Copy(St: STRING; Indeks: Integer; Jumlah: Integer) : STRING; St berupa string yg akan diambil. Indeks menyatakan posisi awal karakter yg akan diambil. Jumlah menyatakan jumlah karakter yg akan diambil.
Source code kopi.dpr :
Hasil kopi.dpr :
6.5. Menyisipkan String Suatu string dapat disisipkan di tengah-tengah string yg lain. Prosedur yg mendukung hal ini adalah Insert. Bentuk deklarasi prosedur sebagai berikut: PROCEDURE Insert(Sumber: STRING; VAR Target: STRING; Indeks: Integer); St berupa string yg akan diambil. Sumber adalah string yg akan disisipkan ke Target. Indeks menentukan posisi penyisipan.
6.6. Menghapus Bagian Suatu String Bagian tertentu dari suatu string dapat dibuang dengan menggunakan prosedur Delete. Bentuk deklarasi prosedur sebagai berikut: PROCEDURE Delete(VAR St: STRING; Indeks: Integer, Jumlah: Integer); St adalah variabel yg sebagian isinya akan dihapus. Indeks menentukan posisi awal pada string yg akan dihapus. Jumlah menentukan banyaknya karakter yg akan dihapus.
6.7. Posisi Suatu String pada String Lain Posisi suatu string di dalam string yg lain dapat diketahui melalui fungsi Pos. Bentuk deklarasi fungsi ini sebagai berikut: FUNCTION Pos(SubStr: STRING; St: STRING): Byte; Fungsi ini melaporkan posisi string SubStr di dalam string St. Sekiranya SubStr tdk terdapat pada St, hasil fungsi berupa nol. Beberapa contoh:
Ekspresi Hasil Keterangan Pos(‘MALANG’,’PEMALANG’) 3 MALANG ada pada posisi ketiga pada PEMALANG Pos(‘Malang’,’Pemalang’) Huruf kecil dan kapital diperlakukan berbeda Pos(‘DI’,’DIDIK’) 1 DI ditemukan pada posisi pertama pada DIDIK Pos(‘E’,’ABCDE’) 5 E terletak pada posisi kelima pada ABCDE
Contoh pemakaian Pos dapat dilihat pada program hitungdi.dpr. Program hitungdi.dpr menggunakan bantuan Pos untuk menghitung semua substring ‘DI’ terhadap string yg dimasukkan dari keyboard.
Source code hitungdi.dpr :
Hasil hitungdi.dpr :
7. String Sebagai Parameter dan Hasil Fungsi Seperti halnya tipe data yg lain, string juga dapat dilewatkan sebagai parameter dalam suatu fungsi. Selain itu, string juga dapat dipakai sebagai hasil fungsi. Contoh berikut menunjukkan pendeklarasian kepala fungsi yg mempunyai hasil bertipe string. FUNCTION ulang(Kar: Char; Jum: Integer): String[80]; Dalam hal ini, String80 adalah nama tipe yg dideklarasian pada bagian TYPE: TYPE String80 = STRING[80]; Anda tidak perlu diperkenankan menuliskan seperti berikut:
Source code fungstr.dpr :
Hasil fungstr.dpr :
Contoh yg lain dapat dilihat pada program kirikan.dpr. Program kirikan.dpr terdapat fungsi Kiri dan Kanan, yg masing-masing menghasilkan sejumlah karakter dimulai dari yg terkiri dan terkanan. Fungsi semacam ini ada pada beberapa bahasa pemrograman yg lain. Fungsi-fungsi tersebut dapat diimplementasikan dengan mudah, apalagi dengan fungsi standar bernama Copy.
Source code kirikandpr :
Hasil kirikan.dpr :