Bu Naim Dasprog - Pertemuan 7 String

20
4 2 5 1 0011 0010 1010 1101 0001 0100 1011 STRING

description

Materi Dasar Pemrograman C++

Transcript of Bu Naim Dasprog - Pertemuan 7 String

Page 1: Bu Naim Dasprog - Pertemuan 7 String

42510011 0010 1010 1101 0001 0100 1011

STRING

Page 2: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011

String• Didalam C tidak dikenal tipe string.

• Untuk menyimpan string diperlukan beberapa karakter

• Contoh : nama Faris.

– Terdiri dari 5 huruf F, a, r, i dan s.

– Nama terdiri dari beberapa huruf

– Dideklarasikan dan di inisialisasi sbb:

char L1 = ‘F', L2 = 'a', L3 = ‘r', L4 = ‘i', L5 = 's';

Untuk mencetak:

cout << “Nama = " << L1 << L2 << L3 << L4 << L5;

Page 3: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011

String(Array Karakter)

• Untuk menyimpan string yang panjang diperlukan banyak karakter

• Diperlukan array

• Deklarasi:char nama_string[panjang karakter];

• Contoh: char Nama[20]; char JudulBuku[40];char Hari[7];

Page 4: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011

Inisialisasi Array karakter

• Array dengan tipe numerik:

int Number[] ={ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

• Array dengan tipe karakter:

char Nama[6] = { ‘F', 'a', ‘r', ‘i', 's' };

• Masing-masing anggota array karakter dapat diakses berdasar indeksnya.

void main() {

char Nama[6] = { ‘F', 'a', ‘r', ‘i', 's' };

cout<<“Nama : "<<Nama[0]<<Nama[1]<<Nama[2]<<Nama[3]<<Nama[4];

}

Page 5: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011

• Teknik lain untuk inisialisasi array, contoh: char Name[12] = “Faris";

• Jika sudah diinisialisasi, ukuran array dapat dihilangkan. Sehingga menjadi :

char Name[] = “Faris";

• Setelah deklarasi, kompiler akan menghitung jumlah karakter dan ditambahkan satu tempat untuk null-terminated (\0).

F a r i s \0

Page 6: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011

Akses String• Input array karakter

contoh :void main()

{ char Hari[12]; cout << “Masukkan nama hari: "; cin >> Hari; }

• Cetak array karakter – contoh:

void main() { char Hari[12];

char EndMe[] = "\nPress any key to continue..."; cout << “Masukkan nama hari: "; cin >> Hari; cout << “Sekarang hari " << Hari; cout << EndMe;

}

Page 7: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011

Array karakter Multidimensi

• Untuk menyimpan beberapa string diperlukan array karakter multidimensi

• Array dua dimensi dengan tipe numerik: int Number[2][6] = { { 31, 28, 31, 30, 31, 30 }, { 31, 31, 30, 31, 30, 31 } };

• Untuk array 2 D string:– dimensi pertama merupakan jumlah string pada variabel tersebut– dimensi kedua menunjukkan banyaknya karakter untuk masing-masing

string.

Contoh: char NamaMhs[4][10] = { “Aditya", “Budi", “Charles", “Doni" };

NamaMhs adalah array dengan 4 string, dan tiap string mempunyai maksimal 9 karakter (+1 untuk karakter null-terminated).

Page 8: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011

Akses Array Karakter Multidimensi

• Untuk membaca setiap string, tulis nama variabel dan indeks dari baris.

• Contoh: void main()

{ char NamaMhs[4][10] = {“Aditya", “Budi", “Charles", “Doni" };

cout << "Nama: ";

cout << "\nMhs 1: " <<NamaMhs[0];

cout << "\nMhs 2: " << NamaMhs[1];

cout << "\nMhs 3: " <<NamaMhs[2];

cout << "\nMhs 4: " << NamaMhs[3];

}

Page 9: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011

Fungsi-Fungsi Manipulasi String

• Fungsi strlen()– Untuk mengetahui banyaknya karakter pada suatu string.

• Fungsi strcat() – Untuk menambahkan dua string

• Fungsi strncat()– Untuk menambahkan sejumlah karakter pada satu string kesuatu string yang lain.

• Fungsi strcpy()– menyalin satu string ke string yang lain.

• Fungsi strncpy()– menyalin sejumlah karakter dari string yang lain.

• Fungsi strcmp– Membandingkan 2 string

• Fungsi stricmp– Membandingkan dua string tanpa memandang huruf besar atau huruf kecil

• Fungsi strlwr() – Digunakan untuk mengkonversikan string ke huruf kecil

• Fungsi strupr() – Digunakan untuk mengkonversikan string ke huruf besar

• Fungsi strchr() – Memeriksa apakah huruf pertama pada string sesuai dengan karakter tertentu.

• Fungsi strrchr() – Memeriksa apakah huruf terakhir pada string sesuai dengan karakter tertentu

Page 10: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011

Fungsi strlen()

• Untuk mengetahui banyaknya karakter pada suatu string.

• syntax : int strlen(const char* Value);

• Contoh:void main() { char School[] = “UNESA Surabaya"; int Length = strlen(School); cout << “Panjang " << School << “ adalah " << Length << " karakter\n\n"; }

Page 11: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011

Fungsi strcat()

• Untuk menambahkan dua string

• syntax : char *strcat(char *Destination, const char *Source);

– Destination adalah string pertama yang akan ditambahkan dan untuk menyimpan hasil penambahan string.

– Source adalah string kedua yang ingin ditambahkan pada string pertama.

• Contoh:void main() { char *Make = "Ford "; char *Model = "Explorer"; cout << "Originally, Make = " << Make; strcat(Make, Model); cout << "\n\nAfter concatenating, Make = " << Make << endl; }

Page 12: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011

Fungsi strncat()

• Untuk menambahkan sejumlah karakter pada satu string kesuatu string yang lain.

• Syntax:char* strncat(char* Destination, const char* Source, int Number); – number adalah banyaknya karakter pada source yang akan dijumlahkan.

• Contoh:void main() { char *Make = "Ford "; char *Model = "Explorer";

cout << "Originally, Make = " << Make; strncat(Make, Model, 3); cout << "\n\nAfter concatenating, Make = " << Make;}

Page 13: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011

• menyalin satu string ke string yang lain. • syntax :

char* strcpy(char* Destination, const char* Source); – Destination adalah string yang akan diganti, – Source adalah string yang akan disalin.

• Dua kegunaan fungsi strcpy() : Mengganti string yang sudah ada atau untuk inisisalisasi string.

• Contoh inisialisasi string: char CarName[20]; strcpy(CarName, "Toyota Camry"); cout << "Car Name: " << CarName;

• Contoh menyalin string:void main() { char CarName1[] = "Ford Escort"; char CarName2[] = "Toyota 4-Runner"; cout << "\nFirst Car: " << CarName1; cout << "\nSecond Car: " << CarName2; strcpy(CarName2, CarName1); cout << "\n\nAfter using strcpy()..."; cout << "\nFirst Car: " << CarName1; cout << "\nSecond Car: " << CarName2 << endl; }

Fungsi strcpy()

Page 14: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011• menyalin sejumlah karakter dari string yang lain.• syntax:

char* strncpy(char* Destination, const char* Source, int Number); – Number menunjukkan banyaknya karakter dari source yang akan disalin.

• Contoh:void main() { char CarName1[] = "Ford Escort"; char CarName2[] = "Toyota 4-Runner"; cout << "\nFirst Car: " << CarName1; cout << "\nSecond Car: " << CarName2; strncpy(CarName2, CarName1, 8); cout << "\n\nAfter using strncpy() for 8 characters"; cout << "\nFirst Car: " << CarName1; cout << "\nSecond Car: " << CarName2 << endl;  }

Fungsi strncpy()

Page 15: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011

• Membandingkan 2 string

• syntax: int strcmp(const char* S1, const char* S2);

• Hasil perbandingan:• negative jika S1 < S2 • 0 jika S1 dan S2 sama • positive jika S1 > S2 

void main() { char *FirstName1 = "Andy"; char *FirstName2 = "Charles";

char *LastName1 = "Stanley"; char *LastName2 = "Stanley"; int Value1 = strcmp(FirstName1, FirstName2); int Value2 = strcmp(FirstName2, FirstName1); int Value3 = strcmp(LastName1, LastName2); cout << “Hasil perbandingan 1" << Value1 << endl; cout << " Hasil perbandingan 2" << Value2 << endl; cout << " Hasil perbandingan 3" << Value3;}

Fungsi strcmp

Page 16: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011• Membandingkan dua string tanpa memandang huruf besar atau huruf kecil

• syntax :int stricmp(const char* S1, const char* S2);

• Hasil perbandingan:– negative jika S1 < S2 – 0 jika S1 dan S2 sama – positive jika S1 > S2 

Fungsi stricmp()

Page 17: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011

Fungsi strlwr()

• Digunakan untuk mengkonversikan string ke huruf kecil

• syntax : char *strlwr(const char *S);

• Contoh:void main()

{ char CustomerAddress[] = "4812 LOCKWOOD Drive #F04";

cout << "Customer Address: " << customerAddress << endl;

char *ShippingAddress = strlwr(CustomerAddress);

cout << "Shipping Address: " << ShippingAddress << endl;

}

Page 18: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011• Untuk mengkonversikan string ke huruf besar.

• syntax : char *strupr(const char *S);

• Contohvoid main()

{ char Drink[] = "100% Apple Juice";

char *SayItLoud;

cout << "What is that drink? " << Drink << endl;

SayItLoud = strupr(Drink);

cout << "Say it loud: " << SayItLoud << endl; 

}

Fungsi strupr()

Page 19: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011• Memeriksa apakah huruf pertama pada string sesuai dengan karakter tertentu.

• syntax :char* strchr(const char* S, char c); – S string yang akan diperiksa– C karakter yang dicari

• Hasil: jika c ada pada huruf pertama S fungsi akan memberikan hasil string S, jika tidak ada akan memberikan nilai NULL.

Fungsi strchr()

Page 20: Bu Naim Dasprog - Pertemuan 7 String

4251

0011 0010 1010 1101 0001 0100 1011

Fungsi strrchr()

• Memeriksa apakah huruf terakhir pada string sesuai dengan karakter tertentu

• syntax :char* strrchr(const char* S, char c);

• Hasil: jika c ada pada huruf terakhir S fungsi akan memberikan hasil karakter yang sesuai, jika tidak ada akan memberikan nilai NULL.