Berlangganan

About Me


POINTER

Hasil Running:

Input jumlah elamen(maksimum 5) : 3 x[1][1] = 25 x[1][2] = 56 x[1][3] = 12 x[2][1] = 45 x[2][2] = 7 x[2][3] = 9 x[3][1] = 23 x[3][2] = 51 x[3][3] = 33

Elemen Matriks yang telah diinputkan :

25 45 23
 56 7

51

12 9

33

13.5
 STRING

String adalah kumpulan karakter ASCII. Dalam bahasa C terdapat dua cara mendeklarasikan variabel string , satu sebagai pointer to character dan yang lainnya sebagai array of character . Penandaan ujung string dilakukan dengan null character (‘\0’).

Pendeklarasian pointer to character :

char *nama_string;

mendeklarasikan sebuah pointer yang akan berisi alamat awal sebuah string .

Contoh:

char *St = “String Array“;

dalam memori disimpan sebagai berikut:

S
 t
 r
 i
 n
 g

Spasi

karakter

A
 r
 r
 a
 y
 \0

St[0] St[1] St[2] St[3] St[4] St[5] St[6]
 St[7] St[8] St[9] St[10] St[11] St[12]

Pendeklarasian array of character :

char nama_string[jumlah maksimal karakter];

Variabel string yang dideklarasikan dapat langsung diinisialisasi dengan string constant (menggunakan

tanda petik ganda) atau kumpulan karakter (menggunakan tanda petik tunggal).

Contoh:

char S1[10] = “Belajar“;

char S2[10] = {’P’, ‘R’, ‘O’, ‘G’, ‘R’, ‘A’, ‘M’}; char S3[ ] = “information system“;

112

-----------------------------------------------------Page 6-----------------------------------------------------

B
 e
 l
 a
 j
 a
 r
 \0

S1[0]

P

S2[0]

S1[1]

R

S2[1]

S1[2]

O

S2[2]

S1[3]

G

S2[3]

S1[4]

R

S2[4]

S1[5]

A

S2[5]

S1[6]

M

S2[6]

S1[7]

\0

S2[7]

S1[8]

S2[8]

S1[9]

S2[9]

i
 n
 f
 o
 m
 t
 i
 o
 n
 s
 y
 s
 t
 e
 m
 \0

S3[0] S3[1] S3[2] S3[3] S3[4] S3[5] S3[6] S3[7] S3[8] S3[9] S3[10]S3[11]S3[12]S3[13] S3[14]S3[15]S3[16]

13.6
 Operasi String

Karena string adalah array of character maka sebuah string dapat dimanipulasi seperti array. Selain dengan cara memanipulasi elemen string secara karakter per karakter, bahasa C menyediakan standard function yang cukup banyak untuk manipulasi string. Function prototype -nya disimpan pada header file string.h .

Fungsi-fungsi standar yang telah disediakan oleh bahasa C:

char strcpy (char *tujuan, const char *sumber);

Fungsi ini digunakan untuk menyalin string dari sumber ke tujuan. Sumber dapat berupa variabel atau string constant .

size_t strlen (const char *s);

Fungsi ini mengembalikan angka yang menyatakan panjang string s tanpa menghitung null character pada ujung string.

int strcmp (const char *s1, const char *s2);

Fungsi ini digunakan untuk membandingkan string s1 dan s2 ; bila secara alfabetis:

s1 < s2 s1 = s2 s1 > s2
 dikembalikan angka negatif. dikembalikan nol.

dikembalikan angka positif.

int strcmpi (const char *s1, const char *s2);

Fungsi ini membandingkan string s1 dan s2 tanpa membedakan huruf besar dan kecil. char * strcat (char *tujuan, const char *sumber);

Fungsi ini menambahkan string sumber ke string tujuan.

Listing Program 13.7 Operasi String fungsi strcpy

#include <stdio.h> #include <string.h>

main() {

char s1[20]="Selamat", s2[20];

printf("%s %s\n",s1, strcpy(s2, "Pagi")); printf("%s", strcpy(s1, "Siang"));

}

113

-----------------------------------------------------Page 7-----------------------------------------------------

Hasil Running:

Selamat Pagi

Siang

Listing Program 13.8 Operasi String fungsi strlen dan strcat

#include <stdio.h> #include <string.h>

main() {

char s1[20]="Selamat"; printf("%s\n", s1);

printf("Jumlah karakter = %d\n", strlen(s1)); printf("\nSetelah fungsi strcat\n"); printf("\n%s\n", strcat(s1, "Pagi"));

printf("Jumlah karakter = %d\n", strlen(s1));

}

Hasil Running:

Selamat

Jumlah karakter = 7 Setelah fungsi strcat SelamatPagi

Jumlah karakter = 11

Listing Program 13.9 Operasi String fungsi strcmp

#include <stdio.h> #include <string.h>

main() {

char s1[50], s2[50]; int i, j;

printf("Masukkan Kalimat: "); gets(s1); i= strlen(s1);

for(j=0; j<i; j++)

s2[i-j-1]=s1[j];

s2[i]= s1[i];

printf("\nKalimat dibalik: %s\n", s2);

if(strcmp(s1,s2) == 0)

printf("\nKalimat Polindrom");

else

printf("\nBukan Kalimat Polindrom");

}

114

-----------------------------------------------------Page 8-----------------------------------------------------

Hasil Running:

Masukkan Kalimat: abuba Kalimat dibalik: abuba Kalimat Polindrom

Masukkan Kalimat: besok Kalimat dibalik: koseb Bukan Kalimat Polindrom

Latihan:

1. Operasi apasajakah yang dapat dilakukan pada variabel pointer

2. Apakah diperbolehkan untuk melakukan penugasan pada variabel string dengan perintah-perintah di bawah

ini:

char kalimat[25];

kalimat= “Mercu Buana”;

3. Bagaimana cara mendeklarasikan variabel string? Jelaskan.

Tugas Mandiri:

Tulis program untuk membaca satu baris kalimat dan menyimpannya ke array karakter s[100]. Tampilkan kalimat ini dalam format huruf besar semua dan huruf kecil semua.

==============

Referensi:

Cheltenham Computer Training, C Programming , www.cctglobal.com , United Kingdom, 1997

Deitel & Deitel, C How to Program 3rd Edition , Prentice Hall, New Jersey, 2001

Jogiyanto, Konsep Dasar Pemrograman Bahasa C , Andi Offset, Yogyakarta, 1993

Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C , Salemba Teknika, Jakarta, 2004

☺☺☺

115

-----------------------------------------------------Page 9-----------------------------------------------------

0 Response to "POINTER"

Post a Comment