Nama Anggota :
1. Ian Muhammad Aliyana (17150036)
2. Boby Sanusi (17150073)
3. Ary indrawan (17150071)
4. holil (17150105)
Makalah ini bertujuan dan menjelaskan :
1.Pengertian data string .
2.String dan charakter pada C++.
3. Memberikan cara untuk pemberian nilai pada string
1. Pengertian String
String merupakan bentuk data
yang biasa dipakai dalam bahasa pemrograman untuk keperluan menampung dan
memanipulasi data teks, misalnya untuk menampung (menyimpan) suatu kalimat.Pada
bahasa C, string bukanlah merupakan tipe data tersendiri, melainkan hanyalah
kumpulan dari nilai-nilai karakter yang berurutan dalam bentuk array berdimensi
satu.
2. String dan Character pada C++
Pada
C++ tidak ada tipe variable elemen yang spesific untuk menyimpan string. Untuk
keperluan ini dapat digunakan array dengan tipe char, dimana berisi elemen
dengan tipe char. Perlu di ingat bahwa tipe char digunakan
untuk menyimpan 1 karakter, karena itu array dari char digunakan untuk
menyimpan string. Contoh
char
jhonn [20];
Perhatikan, karakter NULL (”) selalu disertakan diakhir string untuk indikasi akhir dari
string.
Inisialisasi string
Sama halnya seperti array-array sebelumnya, inisialisasi pada string sbb :
Perhatikan, karakter NULL (”) selalu disertakan diakhir string untuk indikasi akhir dari
string.
Inisialisasi string
Sama halnya seperti array-array sebelumnya, inisialisasi pada string sbb :
char
mystring[] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ” };
Contoh
diatas, merupakan inisialisasi 6 buah elemen bertipe char, yaitu Hello dan
karakter null ”. Untuk
menentukan nilai konstan, pada string digunakan tanda kutip ganda (“),
sedangkan untuk karakter kutip tunggal (‘). String yang diapit oleh kutip ganda
sudah mengandung karakter Null pada akhir string,
contoh :
char
mystring [] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ” };
char
mystring [] = “Hello”;
contoh
diatas merupakan deklarasi array mystring yang berisi 6
elemen.
3.Pemberian nilai pada
string
Sama
halnya seperti pemberian nilai pada array-array sebelumnya, untuk array dengan
tipe char dapat dituliskan :
mystring[0]
= ‘H’; mystring[1] = ‘e’; mystring[2] = ‘l’; mystring[3] = ‘l’; mystring[4] =
‘o’; mystring[5] = ”;
Cara
diatas sangat tidak praktis. Umumnya untuk pemberian nilai pada array bertipe
char digunakan fungsi strcpy.strcpy (string copy)
mendefinisikan cstring (string.h) library dan dapat dipanggil
dengan cara :
strcpy
(string1, string2);
instruksi
diatas menyebabkan isi daristring2 di-copy ke string1. string2 dapat berupa
array, pointer, atau konstanta string.
Contoh
:
Output :
// setting value to string J. Soulie
#include
<iostream.h>
#include
<string.h>
int
main ()
{
char
szMyName [20];
strcpy
(szMyName,”J. Soulie”);
cout<<
szMyName;
return
0;
}
Perhatikan,
header<string.h> harus disertakan agar bisa menggunakan
fungsi strcpy.
Bisa
juga menggunakan fungsi sederhana seperti setstring, dengan operasi
yang sama seperti
strcpy.
Contoh
:
Output
:
// setting value to
string J. Soulie
#include
<iostream.h>
void
setstring (char szOut [], char szIn [])
{
int
n=0;
do
{
szOut[n]
= szIn[n];
}
while (szIn[n++] != ”);
}
int
main ()
{
char
szMyName [20];
setstring
(szMyName,”J. Soulie”);
cout<<
szMyName;
return
0;
}
Metode
lain yang dapat digunakan untuk inisialisasi nilai yaitu input stream (cin).
Dalam kasus
ini,
nilai string ditentukan oleh user saat
eksekusi program. Ketika menggunakan cin,
biasanya
digunakan metode getline, Pemanggilannya
sbb :
cin.getline
( char buffer[], int length, char delimiter = ‘\n’);
dimana,
buffer adalah alamat untuk menyimpan
input, length adalah maksimum panjang
buffer,dan delimiteradalah karakter yang digunakan untuk menentukan
input akhir, dengan default – atau dengan (‘\n’).
Contoh
:
// cin with strings
#include
<iostream.h>
int
main ()
{
char
mybuffer [100];
cout<<
“What’s your name? “;
cin.getline
(mybuffer,100);
cout<<
“Hello ” << mybuffer << “.\n”;
cout<<
“Which is your favourite team? “;
cin.getline
(mybuffer,100);
cout
<< “I like ”<< mybuffer << ” too.\n”;
return
0;
}
Output
:
Perhatikan
kedua pemanggilan cin.getline, menggunakan identifier yang sama (mybuffer).
Sama halnya seperti penggunaan operator extraction, sehingga dapat
dituliskan
:
cin>>
mybuffer;
Instruksi
diatas dapat berjalan, hanya saja mempunyai
keterbatasan bila dibandingkan dengan cin.getline,
diantaranya
:
•
Dapat menerima 1 kata saja (bukan kalimat lengkap).
•
Tidak diperkenankan untuk memberikan ukuran buffer. Akan menyebabkan program
tidak stabil jika user meng-input lebih besar dari kapasitas array yang ada.
Konversi
string ke tipe lainnya
String
dapat berisi data dengan tipe lain seperti angka. Contoh “1977″.
cstdlib (stdlib.h)
library
menyediakan 3 fungsi yang dapat menangani hal
tersebut :
• atoi: converts
string to int type.
• atol: converts
string to long type.
• atof: converts
string to float type.
Fungsi-fungsi
ini menerima 1 parameter dan mengembalikan
nilainya kedalam tipe yang diminta (int, long or
float). Fungsi ini dikombinasikan dengan metode getline pada cin.
Contoh
:
#include
<iostream.h>
#include
<stdlib.h>
int
main ()
{
char
mybuffer [100];
float
price;
int
quantity;
cout<<
“Enter price: “; cin.getline (mybuffer,100); price = atof (mybuffer); cout
<< “Enter quantity: “; cin.getline (mybuffer,100); quantity = atoi
(mybuffer);
cout<<
“Total price: ” << price*quantity;
return
0;
}
Output
:
Enter price: 2.75
Enter
quantity: 21
Total
price: 57.75
4. Fungsi untuk manipulasi
string
cstring library (string.h)
mendefinisikan banyak fungsi untuk operasi manipulasi, diantaranya:
v strcat: char*
strcat (char* dest, const char* src);
Appends src string
at the end of dest string.Returns dest.
v strcmp: int
strcmp (const char* string1, const char* string2);
Compares
strings string1 and string2. Returns 0 is both strings
are equal.
v strcpy: char*
strcpy (char* dest, const char* src);
Copies
the content of src to dest.Returns dest.
v strlen: size_t
strlen (const char* string);
Returns
the length of string.
Cttn
: char* sama dengan char[]
Fungsi/procedure pengolahan string
- strcpy(varstr1, konst|varstr2);
Procedure ini berfungsi untuk mengcopy isi dari konst atau
varstr2 ke varstr1.
- strcat(varstr1, konst|varstr2);
Procedure ini berfungsi untuk menggabungkan isi dari varstr1
dengan konst atau varstr2 dan menyimpan hasilnya di varstr1.
- strlen(konst|varstr);
Fungsi ini menghasilkan nilai integer berupa panjang konst
atau varstr.
- strupr(varstr);
Procedure ini berfungsi untuk mengkonversikan varstr ke huruf
besar (Uppercase);
- strlwr(varstr);
Procedure ini berfungsi untuk mengkonversikan varstr ke huruf
kecil (Lowercase);
Contoh program lengkap dapat dilihat di bawah ini:
#include <stdio.h>
#include <string.h>
#include <conio.h>
int main(void)
{ char namaDepan[10],
namaTengah[10], namaBlkng[10], namaLengkap[30];
printf("Ketikkan Nama Depan : ");
scanf("%s",&namaDepan);
printf("Ketikkan Nama Tengah : ");
scanf("%s",&namaTengah);
printf("Ketikkan Nama Belakang : ");
scanf("%s",&namaBlkng);
strcpy(namaLengkap,namaDepan);
strcat(namaLengkap," ");
strcat(namaLengkap,namaTengah);
strcat(namaLengkap," ");
strcat(namaLengkap,namaBlkng);
printf("Nama
Lengkap adalah :
%s\n",namaLengkap);
printf("Nama
Lengkap (huruf kecil) : %s\n",strlwr(namaLengkap));
printf("Nama
Lengkap (HURUF BESAR) : %s\n",strupr(namaLengkap));
getch();
return 0;
}
Output
:


Harrah's Resort Southern California - JamBase
BalasHapusExperience 경주 출장샵 Harrah's Resort Southern 원주 출장안마 California's full-service spa, salon, and detox centre. 강원도 출장마사지 Enjoy all the 고양 출장샵 amenities at Harrah's Resort Southern 인천광역 출장안마 California.