Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 Pertemuan 19-20 String Matakuliah: T0616 / Algoritma dan Pemrograman Tahun: 2007 Versi: 1/0.

Presentasi serupa


Presentasi berjudul: "1 Pertemuan 19-20 String Matakuliah: T0616 / Algoritma dan Pemrograman Tahun: 2007 Versi: 1/0."— Transcript presentasi:

1 1 Pertemuan String Matakuliah: T0616 / Algoritma dan Pemrograman Tahun: 2007 Versi: 1/0

2 2 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Menerapkan manipulasi string berdasar konsep tipe data string (C3)

3 3 Outline Materi String Definisi string Fungsi Input dan Output string Inisialisasi string Header string.h

4 4 Definisi String String dalam bahasa C adalah array of character yang diakhiri dengan null character. Sekuen karakter yang diapit oleh double quote (“_“). char s[ ] = “BiNus”; atau char s[ ] = {‘B’,’i’,’N’,’u’,’s’,’\0’}; Simbol null character adalah ‘\0’ dengan nilai Ascii 0 Null character otomatis ditambahkan oleh sistem. String bukanlah tipe data di c.

5 5 Karakter vs String Karakter dalam bahasa C diapit oleh single quote. Tiap karakter menempati satu byte memori. ‘A’ adalah karakter A 1 byte memori String diapit oeh double quote. “A” adalah string A Dua byte memori, satu untuk ‘A’ dan satu untuk ‘\0’ yang otomatis ditambahkan oleh sistem.

6 6 Konstanta vs Variabel String Konstanta string: String yang tidak dapat diubah isinya. “Saya BiNusian” Variabel string: Diinput menggunakan fungsi scanf(). Tidak perlu operator alamat ‘&’ karena nama string isinya adalah alamat.

7 7 Konstanta vs Variabel String CONTOH #include void main( ) { char nama [30]; printf(“\nInput nama Anda “); scanf(“%s”, nama); printf(“\nNama Anda: %s”, nama); }

8 8 Kelemahan Scanf Menggunakan karakter white space untuk mengakhiri pemasukan nilai variabel. Tidak dapat digunakan untuk memasukkan string yang terdiri dari beberapa kata. Hanya kata pertama yang akan diambil oleh scanf(). Misalkan scanf(“%s”, nama); diisi “sylvana marine” maka hanya “sylvana” yang akan diambil.

9 9 Fungsi Input Output String Fungsi gets() Membaca string dari keyboard. Berhenti hanya jika [Enter] ditekan. Spasi dan tab dianggap sebagai bagian dari string. Fungsi puts() Pasangan fungsi gets(). Untuk mencetak string. Tidak ada fasilitas menata format.

10 10 Fungsi Input Output String CONTOH void main() { char namaJurusan[21]; puts(“Input nama jurusan Anda”); gets(namaJurusan); puts(“Nama jurusan Anda :”); puts(namaJurusan); }

11 11 Inisialisasi String Karakter individual diapit oleh ‘ ‘ char nama[ ] = {‘n’, ‘a’, ‘n’, ‘a’, ‘\0’}; char nama[5] = {‘n’, ‘a’, ‘n’, ‘a’, ‘\0’}; char nama[4] = {‘n’, ‘a’, ‘n’, ‘a’, ‘\0’};//error Sekuen karakter diapit oleh “ “ char nama[ ] = “nana”; char nama[5] = “nana”; char nama[4] = “nana”;//error

12 12 Inisialisasi String Contoh : char a[ ] = {‘b’, ‘i’, ‘n’, ‘u’, ‘s’};//not a string char b[ ] = “binus”;//ok char c[8] = “binus”; //ok

13 13 Inisialisasi String Contoh : /* Inisialisasi string */ #include void main() { char str1[ ] = {`A', ` `, `s', `t', `r', `i', `n', `g', ` `, `c', `o', `n', `s', `t', `a', `n', `t', `\0'}; char str2[] = "Another string constant"; int i; /* mencetak str2 */ for (i=0; str1[i]; i++) printf("%c", str1[i]); printf("\n"); /* mencetak str2 */ for (i=0; str2[i]; i++) printf("%c", str2[i]); }

14 14 Header string.h Berisi fungsi-fungsi untuk memanipulasi string. strlen() Menghasilkan panjang string, tidak menghitung karakter null. strcpy(s1,s2) Copy s2 ke s1. strncpy(s1,s2,n) Copy n karakter pertama s2 ke s1. strcat(s1,s2) Menambahkan string s2 ke akhir dari string s1. strncat(s1,s2,n) Menambahkan n karakter string s2 ke akhir dari string s1. strcmp(s1,s2) Membandingkan isi string s1 dan s2, jika isinya sama maka nilainya 0.

15 15 Header string.h Contoh : char s1[ ] = “abcdef”; char s2[ ] = “xyz”; strlen(“nana”); // 4 strcmp(“nana”, “nana”)// bernilai 0 strcpy(s1,s2);// s1 = “xyz”, s2 = “xyz” strncpy(s1,s2,2); // s1 = “xyabcdef”, s2 = “xyz” strncpy(s1,s2,4);// jika n>=strlen(s2) efek sama // dengan strcpy() s1 = “xyz” strcat(s1,s2); // s1=“abcdefxyz”, s2=“xyz” strncat(s1,s2,2); // s1=“abcdefxy”, s2=“xyz” s1 = “Happy” s2 = “New Year” strcat( s1, s2 ) // s1= “Happy New Year” strncat( s3, s1, 6 ) // s1= “Happy” strcat( s3, s1 ) // s1= “Happy Happy New Year”

16 16 Header string.h Contoh : /* Copy string */ #include void main() { char str1[] = "Copy a string."; char str2[15]; char str3[15]; int i; strcpy(str2, str1); // dengan strcpy() for (i=0; str1[i]; i++) // tanpa strcpy() str3[i] = str1[i]; str3[i] = `\0'; /* menampilkan str2 dan str3 */ printf("The content of str2: %s\n", str2); printf("The content of str3: %s\n", str3); }

17 17 Latihan Diberikan sebuah array karakter : char str1[] = "Latihan."; Buat program untuk mengkopi string dari str1 ke str2

18 18 Latihan Diberikan sebuah array karakter : char str1[] = “Happy"; char str1[] = “New Year"; Buat program untuk menghasilkan str3 yang berisi : –“Happy New Year” –“Happy Year”

19 19 Latihan Buat program untuk: –mengambil string dari keyboard –membalik susunan karakter dalam string tsb –menampilkan string yg sudah dibalik ke layar monitor Contoh: String yg diinput : KASUR Ditampilkan : RUSAK

20 20 Latihan Palindrom adalah kata yang dibaca dari belakang dan depan sama saja. Contoh : SUGUS, TAMAT (coba cari contoh yang lain) Tugas Anda adalah membuat program untuk menerima input string dari keyboard dan mengecek apakah sebuah kata palindrom atau bukan. Contoh : Masukkan kata : KASUR Bukan Palindrom Makukkan kata : sugus Palindrom

21 21 Latihan Buatlah sebuah program untuk menginput nama Anda dari keyboard dan menggerakkan string nama Anda dari posisi kiri atas layar ke posisi kanan bawah ( dari pos(0,0), pos(1,1,), pos(2,2), pos(3,3) s/d pos(24,24) )

22 22 Latihan Jelaskan apakah output program berikut ! #include void main() { char str[80]; int i, delt = `a' - `A'; printf(“Input string (maks 80 char):\n"); gets( str ); i = 0; while (str[i]){ if ((str[i] >= `a') && (str[i] <= `z')) str[i] -= delt; ++i; } printf(“Hasil string :\n"); puts( str ); } Adakah cara lebih mudah ?

23 23 Latihan Apa yang akan dicetak oleh kode berikut: char s[] = “Bina Nusantara”; int count = 0; for(char *p = s; *p; p++) if(isupper(*p)) ++count; printf(“\n%d “, count); Apa yang akan dicetak oleh kode berikut: char s[] = “Bina Nusantara”; for(char *p = s; *p; p++) if(isupper(*p)) *p = tolower(*p); printf(“\n%s “, s);

24 24 Latihan Apa tugas fungsi cp() berikut: char* cp(char *s1, const char *s2) { for(char *p = s1; *s2; *p++ = *s2++; *p = ‘\0’; return s1; } Apa tugas fungsi rev() berikut : void rev() { for(char *end = s; *end; end++) char temp; while(s < end -1) { temp = *--end; *end = *s; *s++ = temp; }


Download ppt "1 Pertemuan 19-20 String Matakuliah: T0616 / Algoritma dan Pemrograman Tahun: 2007 Versi: 1/0."

Presentasi serupa


Iklan oleh Google