Menulis string

8.11. Menulis string

Setelah mampu melewati materi contoh, program dibawah ini adalah mengenai array, maka anda dapat menggunakan sebuah fungsi untuk menulis fungsi secara sendiri untuk melakukan copy atau menyalin string memproses sebuah string. Sebagai dari satu array ke bentuk yang lain.

Program 8.14 #include <conio.h> #include <iostream>

using namespace std;

void stringCopy(char [], char []);

int main() {

const int S_LENGTH = 30 ;

Direktorat Pembinaan SMK| 2008

Operasi String Bahasa Pemrorgraman

char first[S_LENGTH], second[S_LENGTH];

cout << "masukan string dengan tidak lebih dari " << S_LENGTH ‐ 1 << " karakter:\n" ; cin.getline(first, S_LENGTH); stringCopy(first, second); cout << "String yang anda masukan adalah:\n" << second << endl; getch();

return 0 ; }

// Definisi Fungsi stringCopy * void stringCopy(char string1[], char string2[]) {

int index = 0 ;

while (string1[index] != '\0') { string2[index] = string1[index]; index++; } string2[index] = '\0'; }

Keluaran program diatas adala sebagai berikut: masukan string dengan tidak lebih dari 29 karakter: hello saya sedang belajar

String yang anda masukan adalah: hello saya sedang belajar

Yang perlu diperhatikan pada fungsi memberi suatu tanda batal program diatas adalah pada fungsi (karakter '\0' ) hingga selesai string2, stringCopy yang tidak menerima satu

dengan demikian hal tersebut dapat bentuk array. Program tersebut diakhiri dengan baik. hanya melakukan copy karakter-

Program dibawah menggunakan karakter dari string1 ke dalam string2

handling function (fungsi untuk sampai menemui sebuah hal yang menangani) string: nameSlice. dapat mengakhiri atau tanda null Program akan minta pengguna itu dalam string1.

untuk memasukan nama awal dan

Ketika sebuah tanda yang akhir pengguna, yang dipisahkann mengakhiri tersebut ditemukan dan oleh spasi. Kemudia fungsi mencari pengulangan sudah mencapai ujung string untuk spasi dan mengganti dri string, statemen terakhir dalam

2008 | Direktorat Pembinaan SMK

Bahasa Pemrograman Operasi String

dengan suatu terminator akhir. Perhatikan program dibawah ini:

Program 8.15 #include<conio.h> #include <iostream>

using namespace std;

void potogannama(char []);

int main() {

const int PANJANG_NAMA = 41 ;

char name[PANJANG_NAMA];

cout << "Masukan nama depan dan nama akhir Anda dengan dipisahkan" ; cout << "dengan spasi:\n" ; cin.getline(name, PANJANG_NAMA); potogannama(name); cout << "Nama pertama anda adalah: " << name << endl; getch();

return 0 ; }

// Definisi Fungsi potogan nama. void potogannama(char userName[]) {

int count = 0 ; while (userName[count] != ' ' && userName[count] != '\0') count++; if (userName[count] == ' ') userName[count] = '\0'; }

Keluaran program diatas adalah sebagai berikut: Masukan nama depan dan nama akhir Anda dengan dipisahkandengan spasi: Supra indonesia

Nama depan anda adalah: supra

Pengulangan pada variabel melakukan scan string, kemudian potongannama dimulai saat karakter

mencari baik sebuah spasi atau yang pertama dalam array dan terminator null:

Direktorat Pembinaan SMK| 2008

Operasi String Bahasa Pemrorgraman

contoh memasukan string nama while (userName[count] != ' ' &&

depan dan nama belakang supra userName[count] != '\0')

indonesia”, pada program pengulang- count++; an menemukan pemisah spasi “suprapto” dan “indonesia”, pada

Jika karakter dalam userName[5]. Ketika pengulangan userName[count] bukanlah sebuah berhenti, count diatur sampai 5. Akan spasi atau terminator null, count lebih jelasnya jika memperhatikan akan ditambah dengan karakter gambar dibawah ini: berikutnya yang akan diuji. Dengan

Perulangan akan berhenti ketika menemukan tanda spasi atau userName[5]

s u p r a i n d o n e s i a \0

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 subskrip

Begitu pengulangan sudah diselesaikan, userName[count] akan if (userName[count] == ' ') berisi salah satu spasi atau userName[count] = '\0'; terminator null. Jika berisi spasi, dan

diikuti tanda if statemen kemudian sehingga dapat diilustrasikan seperti menggantikannya dengan terminator pada gambar dibawah ini: null:

Ruangan diberi \0 atau tanda sebagai string selesai