10 February, 2015

Manipulasi String Pada Bahasa C

Manipulasi string merupakan proses komputasi yang dilakukan terhadap deretan karakter atau kalimat. Seperti menyalin, menggabungkan,dan memotong string. Bahasa C/C++ menyediakan beberapa pustaka yang dapat digunakan untuk melakukan proses komputasi dalam hal manipulasi string. Operasional manipulasi string yang dapat dilakukan pada bahasa C/C++ sendiri ada beberapa operasional, namun yang akan dibahas pada postingan ini ialah :

  1. Menyalin String (Copy String)
  2. Penggabungan String (Concatenate String)
Dari operasional manipulasi string yang disebutkan di atas, kita akan membahas keduanya. Pembahasan yang disampaikan hanya pembahasan mendasar saja, untuk mendalaminya diserahkan kepada teman-teman sekalian dengan mencoba membuat program mengenai permasalahan-permasalahan dalam manipulasi string pada bahasa C/C++.

Menyalin String (Copy String)

Berbicara mengenai operasional salinan deretan karakter atau copy string, yang perlu ditekankan dan diperhatikan disini ialah bahwa kita hanya akan membuat salinan elemen atau nilai dari array A ke array B (kondisi array B sebaiknya harus kosong / belum diisi nilai apapun). Hal itu berarti bahwa array B akan memiliki nilai-nilai atau elemen yang ada di dalam array A. Dalam melakukan salinan string, bahasa C/C++ menyediakan beberapa fungsi yang dapat digunakan untuk menyelesaiakan permasalahan dalam menyalin deretan karakter atau string. Namun, pada postingan ini, yang akan dibahas hanya dua fungsi yang dianggap mendasar saja, yaitu fungsi "strcpy" dan "strncpy".

Fungsi strcpy

Bentuk dasar dari fungsi strcpy ini adalah sebagai berikut:
char *strcpy(char *destination, const char *source );
Berdasarkan bentuk dasar fungsi strcpy di atas, kita dapat melihat bahwa fungsi tersebut menerima dua buah paramater sebagai acuan informasi atau data dari array yang akan diproses oleh si fungsi strcpy. Berikut penjelesan dasar mengenai paramater yang ditampung oleh fungsi
  1. char * destination Variabel array yang akan menampung seluruh elemen dari array asal ketika proses penyalinan berlangsung
  2. const char * source Variabel array yang menjadi sumber dari nilai-nilai yang akan disalin ke array tujuan

Sebelum melihat contoh kode program bahasa c dalam menggunakan fungsi strcpy di atas, penting untuk diperhatikan, ukuran dari array tujuan tidak boleh lebih kecil dari ukuran array asal. Mengapa? Jika hal itu dilakukan, maka akan mengakibatkan overflow. Data yang akan ditampung tidak akan muat di array tujuan, dan tentu saja hal tersebut merupakan hal yang fatal untuk dilakukan. Oleh karena itu, ukuran array tujuan haruslah sama dengan ukuran dari array asal, diikuti dengan karakter null (sebagai tanda akhir dari sebuah array). Berikut contoh dari penggunaan fungsi strcpy dalam bahasa C.

Pada kode program di atas, penulis menggunakan sebuah variabel khusus dengan tipe data size_t. Tipe data ini merupakan tipe data khusus (bertanda unsigned integer), yang digunakan untuk menampung nilai yang dikembalikan oleh fungsi strlen. Variabel ini dapat membantu untuk menghitung panjang string yang ditampung oleh variabel awal, jadi kita tidak perlu lagi capek-capek menghitung panjang string dengan jari. Dan kegunaan variabel ini akan lebih dirasakan ketika bekerja dengan fungsi strncpy.

Fungsi strncpy

Fungsi strncpy tidak jauh berbeda dengan fungsi strcpy di atas, yang membedakan hanyalah pada fungsi ini kita dapat menentukan seberapa banyak elemen atau nilai yang ingin disalin dari array asal ke array tujuan. Bentuk dasar dari fungsi strncpy ini adalah sebagai berikut
char *strncpy(char *destination, const char *source, size_t num);
Dalam menggunakan fungsi "strncpy" ini, yang perlu diperhatikan ialah:
  1. Array asal lebih kecil dari array tujuan. Ketika hal ini terjadi, maka secara otomatis, program akan mengisikan karakter 0 ke array tujuan hingga paramater num terpenuhi.
  2. Parameter num harus lebih kecil atau sama dengan ukuran dari array tujuan
  3. Bebeda dengan fungsi "strcpy", fungsi "strncpy" tidak menambahkan terminate atau null karakter secara otomatis ke akhir array tujuan saat proses penyalinan selesai dilaksanakan
Untuk contoh kode program dari penggunaan fungsi strncpy ini, dapat dilihat di bawah ini.

Penggabungan String (Concatenate String)

Berbicara mengenai Penggabungan string, berarti yang dilakukan adalah menggabungkan isi dari sebuah array dengan sederetan karakter atau kalimat baru. Hal yang perlu diperhatikan saat bekerja dalam penggabungan string ini, panjang sederetan karakter yang akan digabungkan ke array tidak boleh lebih dari ukuran array tujuan. Hal ini dilakukan untuk menghindari overflow. Bahasa C/C++ menyediakan beberapa fungsi untuk menyelesaikan permasalahan penggabungan string, namun penggunaan fungsi yang akan kita lihat pada postingan ini hanya fungsi strcat dan strncat saja. Untuk menghemat waktu, langsung saja kita lihat penggunaan fungsi strcat dan strncat berikut ini.
Untuk hasil keluaran dari seluruh kode program yang diberikan pada postingan ini, dapat dilihat pada gambar di bawah ini.
Image of string manipulation kodeprogramcpp
String Manipulation - kodeprogramcpp

Penutup

Demikianlah untuk postingan kali ini mengenai manuplasi string pada bahasa pemrograman C/C++. Jika terdapat kekurangan dan tutur kata yang kurang baik, mohon dimaafkan dan jika tidak keberatan mohon menuliskan satu dua kata mengenai postingan ini, baik kritik atau saran agar kedepannya dapat membantu penulis dalam meningkatkan mutu postingan dan pembahasan tentunya. Terima kasih. :)

No comments:

Post a Comment

Berikan komentar, Kritik dan saran teman-teman mengenai blog ini. Komentar, Kritik dan saran teman-teman sangat berarti untuk perkembangan Blog ini.
Salam Blogger, salam kodeprogramcpp.

Lihat Juga Berita Pilihan Ini