Wednesday, 17 December 2008

Dasar Operasi String di C++

Tipe data string (nama lain array karakter) sangat sering dipakai dalam pembuatan program, khususnya yang berkaitan dengan pengolahan data berupa kata-kata (kumpulan huruf alpha numerik). Semua bahasa pemrograman mendukung penggunaan konsep string, bahkan untuk bahasa pemrograman generasi terbaru (semisal java, delphi, VB) telah memiliki tipe data string sendiri, bukan lagi memakai array karakter. Lebih dari itu dalam konsep OOP, class string sudah dilengkapi dengan fungsi-fungsi standar yang komplit.

Dalam artikel ini saya akan membahas satu bagian kecil saja tentang string dalam bahasa C++. Kunci utama mengolah tipe data string adalah dengan memahami aturan bahwa karakter terakhir (ujung belakang) sebuah data string SELALU berisi karakter NULL (''). Aturan ini perlu kita camkan ketika akan membuat fungsi-fungsi manipulasi data string, antara lain: menghitung panjang string, menggabungkan dua buah string, mengkopi isi string, mencari data ke dalam string, memotong bagian dalam sebuah string, dst.

Contoh yang akan saya tunjukkan disini adalah program untuk menghitung panjang sebuah string. Perlu Anda ketahui bahwa sebenarnya fungsi-fungsi baku manipulasi string sebenarnya sudah difasilitasi oleh bahasa C++ dengan memakai library string.h, programmer tinggal memanggil fungsinya. Namun tujuan saya membuat contoh ini adalah lebih untuk menguatkan ketrampilan dalam coding bukan sekedar menggunakan.

Dalam library string.h sudah terdapat fungsi length() untuk mengetahui panjang sebuah string. Disini kita akan belajar membuat program yang tujuannya sama denga fungsi length() tersebut. Perhatikan source code berikut:

#include "stdio.h"
void main()
{
char namaku[30];
printf("Ketikkan Nama = "); gets(namaku);
printf("Panjang Nama Anda = ");
for(int i=0; namaku[i] != ''; i++); //loop sampai ketemu NULL
printf("%d karakter", i); //i berisi info panjang string
}

Penjelasan:
Teknik menghitung panjang string di atas adalah dengan membaca satu demi satu isi array karakternya. Selama karakter yang dibaca bukanlah karakter NULL maka i akan terus bertambah satu. Dengan demikian i-lah yang menampung info tentang jumlah karakter di dalam string. Berani mencoba? Selamat Belajar! :D