Seblumnya saya pernah menyajikan ihwal algoritma untuk operasi aritmatika, yang khusus dipakai untuk proses-proses yang berkaitan dengan perhitungan matematika, nah di kali ini saya akan coba bahas mengenai operasi string dalam algoritma, Operasi string yakni proses-proses pemecahan problem yang berkaitan dengan pengolahan teks atau tulisan, dalam algoritma ada beberapa cara yang dipakai dalam mengolah string diantaranya yakni :
- Penggabungan, Menggabungkan dua buah string atau lebih menggunakan operator penggabung
- Pemecahan, Mengambil bab 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 yakni casting yaitu mengubah variable dari bentuk non string menjadi string, misalkan dari variable bertipe bilangan bundar (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, contohnya 'ini teladan string', namun pada implementasinya di beberapa bahasa pemrograman lainnya, nilai dari variable bertipe data string juga sanggup menggunakan tanda kutif ganda, contohnya "ini teladan 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, sanggup 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 alasannya sangat menyenangkan,
Deskripsi Proses:
Pertama kita deklarasikan variable bertipe data String yaitu variable dengan nama kata1, kata2 dan hasil, lalu variable kata1 kita isi dengan goresan pena '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, lalu isi yang terdapat di variable hasil kita cetak di layar dengan perintah write (hasil).
Penggabungan String jikalau di lakukan di dalam perintah write(...) sanggup menggunakan tanda coma (,), baik untuk menggabungkan string dengan string ataupun menggabungkan string dengan variable, sebagai conoh:
Misalnya di algoritma di atas goresan pena yang ingin di cetak yakni hasil penggabungannya yakni : saya suka algoritma alasannya sangat menyenangkan, untuk menghasilkan output seperi itu maka perintah write (...) pada instruksi algoritma di atas sanggup kita modifikasi menjadi
....
write('hasil penggabungannya yakni : ' , hasil)
....
goresan pena 'hasil penggabungannya adalah:' akan di cetak sesuai dengan yang ditulis alasannya itu nilai variable string dan menggunakan tanda kutif tunggal, sedangkan vriable hasil (tidak menggunakan tanda kutif tunggal), yang akan dicetak yakni isi dari variable hasil, sehingga outpunya menjadi hasil penggabungannya yakni : saya suka algoritma alasannya sangat menyenangkan.
Algoritma sendiri bekerjsama tidak mempunyai fungsi untuk pemecahan string, fungsi yang dipakai diubahsuaikan dengan pendekatan bahasa pemrograman yang dipakai dalam algoritma tersebut, alasannya fungsi-fungsi biasanya sudah disediakan dalam bahasa pemrograman jadi kita tinggal menggunakan saja.
Umumnya untuk algoritma dan bahasa pemrograman dasar I pendekatan bahasa pemrograman yang dipakai di dalam algoritma yakni pascal, sehingga fungsi-fungsi untuk pemecahan string yang digunakanpun yakni fungsi-fungsi yang terdapat didalam bahasa pemrograman pascal, lain halnya dengan algoritma dan bahasa pemrograman II, pendekatan yang dipakai yakni bahasa pemrograman C++, sehingga operasi stringpun akan lebih menggunakan fungsi-fungsi pengolah string yang terdapat di bahasa pemrograman C++, yang perlu kita perhatikan yakni konteks atau maksud dari operasi pemecahan itu, apapun pendekatan bahasa pemrograman yang dipakai yang harus kita perhatikan yakni makna dan konsepnya.
Di teladan Pemecahan string berikut saya akan menggunakan algoritma dengan pendekatan bahasa pemrograman pascal, beberapa fungsi untuk pemecahan string yan sering dipakai misalnya:
a. substring (variable_string, index_awal, jml_karakter), mengamil beberapa bab huruf 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 huruf dari isi varible x yang dumulai dari urutan huruf ke 1, akan menghasilkan goresan pena algo
substring(x,5,4), mengambil 4 huruf dari nilai variable x yang dimulai dari urutan huruf ke 5, akan menghasilkan goresan pena itma
b. left(variable_string,jml_karakter), mengambil beberapa huruf dari arah kiri sebanyak jumlah karakter
Contoh:
variable string A berisi nilai "teknologi modern"
left(A,5), mengambil 5 huruf dari kiri, akan menghasilkan tulisan: tekno
c. right(variable_string,jml_karakter), mengambil beberapa huruf dari kanan sebanyak jml_karakter.
Contoh:
variable string B berisi nilai "indonesia merdeka"
right(B,5), mengambil 5 huruf dari kanan, akan menghasilkan tulisan: rdeka
right(B,7), mengambil 7 huruf 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 alasannya sangat menyenangkan,
Deskripsi Proses:
Pertama kita deklarasikan variable bertipe data String yaitu variable dengan nama kata1, kata2 dan hasil, lalu variable kata1 kita isi dengan goresan pena '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, lalu isi yang terdapat di variable hasil kita cetak di layar dengan perintah write (hasil).
Penggabungan String jikalau di lakukan di dalam perintah write(...) sanggup menggunakan tanda coma (,), baik untuk menggabungkan string dengan string ataupun menggabungkan string dengan variable, sebagai conoh:
Misalnya di algoritma di atas goresan pena yang ingin di cetak yakni hasil penggabungannya yakni : saya suka algoritma alasannya sangat menyenangkan, untuk menghasilkan output seperi itu maka perintah write (...) pada instruksi algoritma di atas sanggup kita modifikasi menjadi
....
write('hasil penggabungannya yakni : ' , hasil)
....
goresan pena 'hasil penggabungannya adalah:' akan di cetak sesuai dengan yang ditulis alasannya itu nilai variable string dan menggunakan tanda kutif tunggal, sedangkan vriable hasil (tidak menggunakan tanda kutif tunggal), yang akan dicetak yakni isi dari variable hasil, sehingga outpunya menjadi hasil penggabungannya yakni : saya suka algoritma alasannya sangat menyenangkan.
Pemecahan String
Pemecahan String biasanya bertujuan mendapat sebagaian kata yang diingan dari suatu teks atau string, beberapa pemecahan string misalnya, menagambil 5 huruf dari sebelah kiri, atau mengambil 4 huruf dari sebelah kanan, atau mengambil beberapa huruf dari urutan tertentu hingga urutan sesuai yang diinginkan.Algoritma sendiri bekerjsama tidak mempunyai fungsi untuk pemecahan string, fungsi yang dipakai diubahsuaikan dengan pendekatan bahasa pemrograman yang dipakai dalam algoritma tersebut, alasannya fungsi-fungsi biasanya sudah disediakan dalam bahasa pemrograman jadi kita tinggal menggunakan saja.
Umumnya untuk algoritma dan bahasa pemrograman dasar I pendekatan bahasa pemrograman yang dipakai di dalam algoritma yakni pascal, sehingga fungsi-fungsi untuk pemecahan string yang digunakanpun yakni fungsi-fungsi yang terdapat didalam bahasa pemrograman pascal, lain halnya dengan algoritma dan bahasa pemrograman II, pendekatan yang dipakai yakni bahasa pemrograman C++, sehingga operasi stringpun akan lebih menggunakan fungsi-fungsi pengolah string yang terdapat di bahasa pemrograman C++, yang perlu kita perhatikan yakni konteks atau maksud dari operasi pemecahan itu, apapun pendekatan bahasa pemrograman yang dipakai yang harus kita perhatikan yakni makna dan konsepnya.
Di teladan Pemecahan string berikut saya akan menggunakan algoritma dengan pendekatan bahasa pemrograman pascal, beberapa fungsi untuk pemecahan string yan sering dipakai misalnya:
a. substring (variable_string, index_awal, jml_karakter), mengamil beberapa bab huruf 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 huruf dari isi varible x yang dumulai dari urutan huruf ke 1, akan menghasilkan goresan pena algo
substring(x,5,4), mengambil 4 huruf dari nilai variable x yang dimulai dari urutan huruf ke 5, akan menghasilkan goresan pena itma
b. left(variable_string,jml_karakter), mengambil beberapa huruf dari arah kiri sebanyak jumlah karakter
Contoh:
variable string A berisi nilai "teknologi modern"
left(A,5), mengambil 5 huruf dari kiri, akan menghasilkan tulisan: tekno
c. right(variable_string,jml_karakter), mengambil beberapa huruf dari kanan sebanyak jml_karakter.
Contoh:
variable string B berisi nilai "indonesia merdeka"
right(B,5), mengambil 5 huruf dari kanan, akan menghasilkan tulisan: rdeka
right(B,7), mengambil 7 huruf 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 menyerupai misalnya, menghitung jumlah karakter, fungsi menggabungkan beberapa string dan lain sebagainya, jikalau harus dijabarkan secara keseluruhan mungkin akan sangat panjang.
Konversi Data (Casting) dalam algoritma
Konversi data tujuannya yakni mengkonversi nilai dari satu tipe data ke jenis tipe data lain, contohnya merubah angka dari tipe data string menjadi bilangan, biasanya yang banyak dipakai yakni mengkonversi tipe data angka dalam bentuk string menjadi tipe data dalam bentuk bilangan, atau angka dalam bentuk bilangan menjadi string.
misal jikalau 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) dipakai untuk mengkonversi string menjadi angka, alasannya 200 meskipun bilangan itu bukanlah angka tapi teks, lihat saja tipe data untuk x itu yakni String dan '200' diapit oleh tanda kutif tunggal. String yang sanggup dikonversi menjadi angka jikalau String tersebut yakni bilangan.