String Dalam C++

String Dalam C++
String Dalam C++

Pengenalan String

String adalah sekumpulan dari karakter, baik itu berupa karakter huruf, angka, spasi atau karakter lain. Dalam C++ nilai string harus diapit dalam tanda petik satu ("_").

String dpat dideklarasikan dengan menggunakan array karakter seperti berikut:
char var_name[N];

Memasukan Data String Dari Keyboard

Setelah suatu variabel string didefinisikan, kita dapat mengisi data tersebut secara langsung atau dari keyboard dengan menggunakan fungsi cin.

Contoh program:
#include <iostream.h>
#include <conio.h>

void main() {
char teks[13];
clrscr();
cout << "Masukkan sebuah kata ";
cin >> teks;
cout << "Yang Anda Masukkan : " << teks << endl;

getch();
}

Output :
Masukkan sebuah kata Assalamu'alaikum
Yang Anda Masukkan : Assalamu'alaikum

Fungsi cin tidak menerima spasi, jika anda memasukkan karakter yang mengandung spasi, karakter setelahnya tidak akan disimpan. Untuk mengatasi masalah ini, tambahkan fungsi berikut:

cin.get(var, length)

atau

cin.getline(var, length)

Program di atas dapat dimodifikasi seperti berikut:
#include <iostream.h>
#include <conio.h>
void main() {

char teks[13];
clrscr();

cout << "Masukkan sebuah kata ";
cin.get(teks, 13);
cout << "Yang Anda Masukkan : " << teks << endl;

getch();
}

Output:
Masukkan sebuah kata Hello World 
Yang Anda Masukkan : Hello World

Selain itu anda juga dapat menggunaakn fungsi gets(var) dari prototype stdio.h.


Fungsi Manipulasi String

Borland C++ menyediakan beberapa jenis fungsi yang digunakan untuk manipulasi string. Berikut beberapa fungsi untuk manipulasi string:
Fungsi
File Header
Keterangan
strcpy()
String.h
digunakan untuk menyalin string dari variabel asal ke tujuan syntax: strcpy(tujuan, asal)
strlen()
String.h
digunakan untuk mengetahui jumlah karakter dalam string syntax: strlen(string)
strrev()
String.h
digunakan utuk membalik letak urutan string syntax: strrev(string)
strcat()
String.h, ctype.h
Digunakan untuk menambahkan string sumber ke bagian akhir dari string tujuan. Syntax: Strcat(tujuan, sumber)
strcmp()
String.h
Digunakan untuk membandingkan string pertama dan string kedua Syntax: Strcmp(str1, str2)

Contoh program:
#include <iostream.h> 
#include <conio.h>
#include <string.h>
#include <stdio.h>

#define MAX 30

void main() {
char str1[MAX], str2[MAX];
cout << "Masukkan sembarang kalimat : ";
gets(str1);
strcpy(str2, str1);
cout << "strcpy test : " << endl;
cout << "str1 : " << str1 << endl;
cout << "str2 : " << str2 << endl;

cout << "\n\nstrlen test : " << endl;
cout << "panjang teks : " << strlen(str2);

cout << "\n\nstrrev test : " << endl;
cout << "teks terbalik : " << strrev(str2);

getch();
}

Output:
Masukkan sembarang kalimat : Hello Borland C++ 
strcpy test : 
str1 : Hello Borland C++
str2 : Hello Borland C++

strlen test : 
panjang teks : 17 

strrev test :
teks terbalik : ++C dnalroB olleH


Fungsi konversi string

Beberapa fungsi untuk konversi string dapat dilihat dalam tabel berikut:
Fungsi
File Header
Keterangan
atof()
math.h
Digunakan untuk mengubah string (angka) menjadi blangan float
atoi()
stdlib.h
Digunakan untuk mengubah string (angka) menjadi blangan integer
atol()
stdlib.h
Digunakan untuk mengubah string (angka) menjadi blangan long integer
strlwr()
String.h
Digunakan untuk mengubah huruf kapital dalam string menjadi huruf kecil.
strupr()
strupr()
Digunakan untuk mengubah huruf kecil dalam string menjadi huruf kapital.

Contoh program:
#include <iostream.h> 
#include <conio.h>
#include <math.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

void main() {
char teks[30];
char angka_s[10];
float angka_f;
int angka_i;
strcpy(teks, "Hello World");
strcpy(angka_s,"78.56");

angka_f = atof(angka_s) + 80;
angka_i = atoi(angka_s) + 12;
cout << "angka_f sekarang : " << angka_f;
cout << "\nangka_i sekarang : " << angka_i;

cout << "\nhuruf kecil : " << strlwr(teks);
cout << "\nhuruf kapital : " << strupr(teks);

getch();
}

Output:
angka_f sekarang : 158.56 
angka_i sekarang : 90
huruf kecil : hello world
huruf kapital : HELLO WORLD

Latihan

Output:
String Array
String Array

Source Code:

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
#define jml 5

/**
*Wawan Beneran
*gatewan.com
*/

void main()
{
char nama[jml][30];

//input
for (int i=0; i<jml; i++){
cout << "nama mahasiswa " <<(i+1) <<" : ";
gets(nama[i]);
}

//output
for (int x=0;x<jml;x++){
cout << nama[x];
}

getch();
}


Referensi :
Modul Praktikum Pemrograman Sistem
STMIK El Rahma Yogyakarta
Oleh : Eding Muh. Saprudin, S.Kom
Blog : http://edokode.com

3 Komentar

  1. Halo Hastri Pindha,
    bukan, 13 itu adalah panjang "string" dimana "string" itu merupakan class enkapsulasi dari array karakter, sedangkan 'char' (karakter) merupakan tipe data primitif, sehingga bisa disimpulkan bahwa, string itu terdiri dari beberapa karakter, sedangkan karakter itu berdiri sendiri.



    kalo string itu diapit oleh tanda petik dua ("_"), contoh = "a", "assalamualaikum", "halo" dll.

    sedangkan karakter itu diapit oleh tanda petik satu ('_'), contoh = 'a', 'hallo', 'assalamualaikum' dll.

    sekarang, kenapa pada contoh diatas teks[13] kata 'assalamualaikum' yang panjangnya 15 karakter (secara EYD) tapi sebenarnya hanya 1 karakter (secara pemrograman) sehingga bisa ditampilkan, karena length yang digunakan masih pada indeks ke-0, padahal indeks totalnya adalah 12, kenapa hanya sampai 12? padahal length yang diberikan adalah 13, karena indeks string dimulai dari nol (0).

    Jadi, jika ingin memakai semua length teks[13], maka silakan rubah codenya menjadi seperti ini :

    char teks[13]={'a','s','s','a','l','a','m','u','a','l','a','i','k','u','m'};

    maka nanti akan muncul notifikasi error "Too many initializers"

    Kesimpulan:
    Jadi perbedaannya terletak di sini :
    'a','s','s','a','l','a','m','u','a','l','a','i','k','u','m' tidak sama dengan 'assalamualaikum'

    saya kira itu saja Hastri Pindha, thanks atas diskusinya

    BalasHapus
  2. bersihinnya pake clrscr(); gan jangan pake itu

    BalasHapus
  3. spasi yang dimaksud jeda waktu atau spasi untuk karakter?, kalo misal jeda waktu tinggal pake break; atau kalo mau pake spasi untuk karakter biasa dibuatkan variabel yang dikhususkan buat nampung spasi contoh (spasi=" ";)

    BalasHapus
Lebih baru Lebih lama

نموذج الاتصال