Seblumnya saya pernah menyajikan tentang algoritma untuk operasi aritmatika, yang khusus digunakan untuk proses-proses yang berkaitan dengan perhitungan matematika, nah di kali ini saya akan coba bahas mengenai operasi string dalam algoritma, Operasi string adalah proses-proses pemecahan masalah yang berkaitan dengan pengolahan teks atau tulisan, dalam algoritma ada beberapa cara yang digunakan dalam mengolah string diantaranya adalah :
- Penggabungan, Menggabungkan dua buah string atau lebih menggunakan operator penggabung
- Pemecahan, Mengambil bagian tertentu dari sebuah String atau teks sesuai dengan yang diinginkan, biasanya menggunakan fungsi-gungsi yang sudah di sediakan dalam bahasa pemrograman yang digunakan.
- Konversi data (casting), Konversi data atau istilah lainnya adalah casting yaitu mengubah variable dari bentuk non string menjadi string, misalkan dari variable bertipe bilangan bulat (integer) diubah menjadi String, dan juga variable-variable non string lainnya.
- Operasi String lainnya.
Nilai dari variable bertipedata String dalam algoritma biasanya di apit oleh tanda kutif tunggal, misalnya 'ini contoh string', namun pada implementasinya di beberapa bahasa pemrograman lainnya, nilai dari variable bertipe data string juga bisa menggunakan tanda kutif ganda, misalnya "ini contoh string"
Penggabungan String
Dalam algoritma dan bahasa pemrograman dasar, String atau variable dengan tipe data String atau tipe data untuk mengolah data dari jenis teks atau tulisan, bisa kita gabungkan dengan operasi penggabungan, di dalam algoritma dan juga bahasa pemrograman penggabungan string biasa menggunakan operatur (+), contoh
Contoh algoritma untuk menggabungkan dua buah teks
Algoritma operasi_penggabungan
DEKLARASI
kata1 : string
kata2 : string
hasil : string
hasil : string
ALGORITMA:
kata1 ← 'saya suka algoritma'
kata2 ← 'karena sangat menyenangkan'
hasil ← kata1 + kata 2
write (hasil)
Algoritma di atas akan menghasilkan output: saya suka algoritma karena sangat menyenangkan,
Deskripsi Proses:
Pertama kita deklarasikan variable bertipe data String yaitu variable dengan nama kata1, kata2 dan hasil, kemudian variable kata1 kita isi dengan tulisan 'saya suka algoritma' dan variable kata 2 kita isi dengan teks 'karena sangat menyenangkan', penggabungan isi dari variable kata1 dan kata2 menggunakan operator + kita masukan ke variable hasil, kemudian isi yang terdapat di variable hasil kita cetak di layar dengan perintah write (hasil).
Penggabungan String jika di lakukan di dalam perintah write(...) bisa menggunakan tanda coma (,), baik untuk menggabungkan string dengan string ataupun menggabungkan string dengan variable, sebagai conoh:
Misalnya di algoritma di atas tulisan yang ingin di cetak adalah hasil penggabungannya adalah : saya suka algoritma karena sangat menyenangkan, untuk menghasilkan output seperi itu maka perintah write (...) pada kode algoritma di atas bisa kita modifikasi menjadi
....
write('hasil penggabungannya adalah : ' , hasil)
....
tulisan 'hasil penggabungannya adalah:' akan di cetak sesuai dengan yang ditulis karena itu nilai variable string dan menggunakan tanda kutif tunggal, sedangkan vriable hasil (tidak menggunakan tanda kutif tunggal), yang akan dicetak adalah isi dari variable hasil, sehingga outpunya menjadi hasil penggabungannya adalah : saya suka algoritma karena sangat menyenangkan.
Algoritma sendiri sebenarnya tidak memiliki fungsi untuk pemecahan string, fungsi yang digunakan disesuaikan dengan pendekatan bahasa pemrograman yang digunakan dalam algoritma tersebut, karena fungsi-fungsi biasanya sudah disediakan dalam bahasa pemrograman jadi kita tinggal memakai saja.
Umumnya untuk algoritma dan bahasa pemrograman dasar I pendekatan bahasa pemrograman yang digunakan di dalam algoritma adalah pascal, sehingga fungsi-fungsi untuk pemecahan string yang digunakanpun adalah fungsi-fungsi yang terdapat didalam bahasa pemrograman pascal, lain halnya dengan algoritma dan bahasa pemrograman II, pendekatan yang digunakan adalah bahasa pemrograman C++, sehingga operasi stringpun akan lebih menggunakan fungsi-fungsi pengolah string yang terdapat di bahasa pemrograman C++, yang perlu kita perhatikan adalah konteks atau maksud dari operasi pemecahan itu, apapun pendekatan bahasa pemrograman yang digunakan yang harus kita perhatikan adalah makna dan konsepnya.
Di contoh Pemecahan string berikut saya akan menggunakan algoritma dengan pendekatan bahasa pemrograman pascal, beberapa fungsi untuk pemecahan string yan sering digunakan misalnya:
a. substring (variable_string, index_awal, jml_karakter), mengamil beberapa bagian karakter dari sebuah teks yang dimulai dari index awal sebanyak jml_karakter
Contoh:
variable string x berisi nilai 'algoritma itu mudah'
substring (x,1,4), mengambil 4 karakter dari isi varible x yang dumulai dari urutan karakter ke 1, akan menghasilkan tulisan algo
substring(x,5,4), mengambil 4 karakter dari nilai variable x yang dimulai dari urutan karakter ke 5, akan menghasilkan tulisan itma
b. left(variable_string,jml_karakter), mengambil beberapa karakter dari arah kiri sebanyak jumlah karakter
Contoh:
variable string A berisi nilai "teknologi modern"
left(A,5), mengambil 5 karakter dari kiri, akan menghasilkan tulisan: tekno
c. right(variable_string,jml_karakter), mengambil beberapa karakter dari kanan sebanyak jml_karakter.
Contoh:
variable string B berisi nilai "indonesia merdeka"
right(B,5), mengambil 5 karakter dari kanan, akan menghasilkan tulisan: rdeka
right(B,7), mengambil 7 karakter dari kanan, akan menghasilkan tulisan: merdeka
Contoh Algoritma
program pemecahan_string
DEKLARASI
X : string
A : string
B : string
hasil : string
ALGORITMA :
X ← 'algoritma itu mudah'
A ← 'teknologi modern'
B ← 'indonesia merdeka'
hasil ← substring(X,1,4)
writeln('hasil operasi substring: ',hasil)
hasil ← left(A,5)
writeln('hasil operasi left: ', hasil)
hasil ← right(B,7)
writeln('hasil operasi right: ',hasil)
Algoritma di atas akan menghasilkan output:kata2 ← 'karena sangat menyenangkan'
hasil ← kata1 + kata 2
write (hasil)
Algoritma di atas akan menghasilkan output: saya suka algoritma karena sangat menyenangkan,
Deskripsi Proses:
Pertama kita deklarasikan variable bertipe data String yaitu variable dengan nama kata1, kata2 dan hasil, kemudian variable kata1 kita isi dengan tulisan 'saya suka algoritma' dan variable kata 2 kita isi dengan teks 'karena sangat menyenangkan', penggabungan isi dari variable kata1 dan kata2 menggunakan operator + kita masukan ke variable hasil, kemudian isi yang terdapat di variable hasil kita cetak di layar dengan perintah write (hasil).
Penggabungan String jika di lakukan di dalam perintah write(...) bisa menggunakan tanda coma (,), baik untuk menggabungkan string dengan string ataupun menggabungkan string dengan variable, sebagai conoh:
Misalnya di algoritma di atas tulisan yang ingin di cetak adalah hasil penggabungannya adalah : saya suka algoritma karena sangat menyenangkan, untuk menghasilkan output seperi itu maka perintah write (...) pada kode algoritma di atas bisa kita modifikasi menjadi
....
write('hasil penggabungannya adalah : ' , hasil)
....
tulisan 'hasil penggabungannya adalah:' akan di cetak sesuai dengan yang ditulis karena itu nilai variable string dan menggunakan tanda kutif tunggal, sedangkan vriable hasil (tidak menggunakan tanda kutif tunggal), yang akan dicetak adalah isi dari variable hasil, sehingga outpunya menjadi hasil penggabungannya adalah : saya suka algoritma karena sangat menyenangkan.
Pemecahan String
Pemecahan String biasanya bertujuan mendapatkan sebagaian kata yang diingan dari suatu teks atau string, beberapa pemecahan string misalnya, menagambil 5 karakter dari sebelah kiri, atau mengambil 4 karakter dari sebelah kanan, atau mengambil beberapa karakter dari urutan tertentu sampai urutan sesuai yang diinginkan.Algoritma sendiri sebenarnya tidak memiliki fungsi untuk pemecahan string, fungsi yang digunakan disesuaikan dengan pendekatan bahasa pemrograman yang digunakan dalam algoritma tersebut, karena fungsi-fungsi biasanya sudah disediakan dalam bahasa pemrograman jadi kita tinggal memakai saja.
Umumnya untuk algoritma dan bahasa pemrograman dasar I pendekatan bahasa pemrograman yang digunakan di dalam algoritma adalah pascal, sehingga fungsi-fungsi untuk pemecahan string yang digunakanpun adalah fungsi-fungsi yang terdapat didalam bahasa pemrograman pascal, lain halnya dengan algoritma dan bahasa pemrograman II, pendekatan yang digunakan adalah bahasa pemrograman C++, sehingga operasi stringpun akan lebih menggunakan fungsi-fungsi pengolah string yang terdapat di bahasa pemrograman C++, yang perlu kita perhatikan adalah konteks atau maksud dari operasi pemecahan itu, apapun pendekatan bahasa pemrograman yang digunakan yang harus kita perhatikan adalah makna dan konsepnya.
Di contoh Pemecahan string berikut saya akan menggunakan algoritma dengan pendekatan bahasa pemrograman pascal, beberapa fungsi untuk pemecahan string yan sering digunakan misalnya:
a. substring (variable_string, index_awal, jml_karakter), mengamil beberapa bagian karakter dari sebuah teks yang dimulai dari index awal sebanyak jml_karakter
Contoh:
variable string x berisi nilai 'algoritma itu mudah'
substring (x,1,4), mengambil 4 karakter dari isi varible x yang dumulai dari urutan karakter ke 1, akan menghasilkan tulisan algo
substring(x,5,4), mengambil 4 karakter dari nilai variable x yang dimulai dari urutan karakter ke 5, akan menghasilkan tulisan itma
b. left(variable_string,jml_karakter), mengambil beberapa karakter dari arah kiri sebanyak jumlah karakter
Contoh:
variable string A berisi nilai "teknologi modern"
left(A,5), mengambil 5 karakter dari kiri, akan menghasilkan tulisan: tekno
c. right(variable_string,jml_karakter), mengambil beberapa karakter dari kanan sebanyak jml_karakter.
Contoh:
variable string B berisi nilai "indonesia merdeka"
right(B,5), mengambil 5 karakter dari kanan, akan menghasilkan tulisan: rdeka
right(B,7), mengambil 7 karakter dari kanan, akan menghasilkan tulisan: merdeka
Contoh Algoritma
program pemecahan_string
DEKLARASI
X : string
A : string
B : string
hasil : string
ALGORITMA :
X ← 'algoritma itu mudah'
A ← 'teknologi modern'
B ← 'indonesia merdeka'
hasil ← substring(X,1,4)
writeln('hasil operasi substring: ',hasil)
hasil ← left(A,5)
writeln('hasil operasi left: ', hasil)
hasil ← right(B,7)
writeln('hasil operasi right: ',hasil)
hasil operasi substring: algo
hasil operasi left: tekno
hasil operasi right: merdeka
Fungsi String yang terdapat di dalam bahasa pemrograman mungkin tidak sebatas itu saja, masih banyak operasi string lainnya yang siap kita gunakan seperti misalnya, menghitung jumlah karakter, fungsi menggabungkan beberapa string dan lain sebagainya, jika harus dijabarkan secara keseluruhan mungkin akan sangat panjang.
Konversi Data (Casting) dalam algoritma
Konversi data tujuannya adalah mengkonversi nilai dari satu tipe data ke jenis tipe data lain, misalnya merubah angka dari tipe data string menjadi bilangan, biasanya yang banyak digunakan adalah mengkonversi tipe data angka dalam bentuk string menjadi tipe data dalam bentuk bilangan, atau angka dalam bentuk bilangan menjadi string.
misal jika kita menggunakan fungsi java untuk casting
algortima contoh_casting
DEKLARASI
x : integer
y : string
jumlah: integer
ALGORITMA:
y ← '200'
x ← 1000
jumlah ← Integer.parseInt(x)+y
writeln(jumlah)
Integer.parseInt(string) digunakan untuk mengkonversi string menjadi angka, karena 200 meskipun bilangan itu bukanlah angka tapi teks, lihat saja tipe data untuk x itu adalah String dan '200' diapit oleh tanda kutif tunggal. String yang bisa dikonversi menjadi angka jika String tersebut adalah bilangan.