Selasa, 13 Oktober 2015

Makalah Kelompok 5 || Logika & Algoritma ("Tipe Data String C++")

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         :
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 (string1string2);
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 :



1 komentar:

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

    BalasHapus

Ads Inside Post