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-----------------------------------------------------
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