09 String
09 String
String
1
Agenda
1. String Constants
2. String Variable
3. Entering String Data from the Keyboard
4. String Initialization
5. Displays the contents of String variable to the Screen
6. Accessing String Elements
7. Some Facilities for Character Operation
8. Some Functions on String
9. String as Function Parameter
10. Array of String
2
String Constants
Suatu konstanta string ditulis dengan diawali dan
diakhiri dengan tanda petik ganda. Misal:
"Bahasa C"
Konstanta string di atas disimpan dalam memori
secara berurutan dengan komposisi :
4
Entering String Data from the Keyboard
8
Displays the contents of String variable to the Screen
(next…)
#include <stdio.h>
void bentuk1(void), bentuk2(void);
main()
{
bentuk1(), bentuk2();
}
void bentuk1(void)
{
char kata[] = { 'b', 'a', 'h', 'a', 's', 'a', ' ', 'C', '\0' }; puts(kata);
}
void bentuk2(void)
{
char kata[] = "bahasa C"; puts(kata);
}
10
Accessing String Elements
(next…)
#include <stdio.h>
#define maksimum 256
main()
{
int i, jumlah_karakter;
char kalimat[maksimum];
printf("Masukkan sebuah kalimat = ");
gets(kalimat);
jumlah_karakter = 0;
for (i=0; kalimat[i]; i++)
jumlah_karakter++;
printf("Jumlah karakter = %d\n", jumlah_karakter);
}
13
Some Facilities for Character Operation
(next…)
isalnum()
isalnum() didefinisikan pada file judul ctype.h.
Bentuk :
int isalnum(int c);
isalnum() merupakan makro yang akan
menghasilkan nilai benar (bukan nol), jika c
adalah sebuah huruf (kapital atau kecil) atau
berupa sebuah karakter digit (‘0’ samapai ‘9’).
14
Some Facilities for Character Operation
(next…)
isalpha()
isalpha() didefinisikan pada file judul ctype.h.
Bentuk :
int isalpha(int c);
isalpha() merupakan makro yang akan
menghasilkan nilai benar (bukan nol) jika c
adalah sebuah huruf (kapital atau kecil).
15
Some Facilities for Character Operation
(next…)
isdigit()
isdigit() didefinisikan pada file judul ctype.h.
Bentuk :
int isdigit(int c);
isdigit() merupakan makro yang akan
menghasilkan nilai benar (bukan nol) jika c
adalah sebuah karakter digit (‘0’ sampai ‘9’).
16
Some Facilities for Character Operation
(next…)
islower()
islower() didefinisikan pada file judul ctype.h.
Bentuk :
int islower(int c);
islower() merupakan makro yang akan
menghasilkan nilai benar (bukan nol) jika c
adalah huruf kecil (‘a’ sampai ‘z’).
17
Some Facilities for Character Operation
(next…)
isupper()
isupper() didefinisikan pada file judul ctype.h.
Bentuk :
int isupper(int c);
isupper() merupakan makro yang akan
menghasilkan nilai benar (bukan nol) jika c
adalah huruf kapital (‘A’ sampai ‘Z’).
18
Some Facilities for Character Operation
(next…)
tolower()
tolower() didefinisikan pada file judul ctype.h.
Bentuk :
int tolower(int c);
tolower() : makro yang akan menghasilkan
nilai salah jika c adalah huruf kapital (‘A’
sampai ‘Z’), maka hasil fungsi berupa huruf
kecilnya. Jika c adalah huruf kecil (‘a’ sampai
‘z’), maka keluaran fungsi sama dengan c.
19
Some Facilities for Character Operation
(next…)
toupper()
toupper() didefinisikan pada file judul ctype.h.
Bentuk :
int toupper(int c);
toupper() : makro yang menghasilkan nilai
salah jika c adalah huruf kecil (‘a’ sampai ‘z’),
maka hasil fungsi berupa huruf kapitalnya.
Jika c adalah huruf kapital (‘A’ sampai ‘Z’),
maka keluaran fungsi sama dengan c.
20
Some Facilities for Character Operation
(next…)
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
main()
{
char karakter; printf("Masukkan sebuah karakter = "); karakter = getche(); printf(" Saya tahu yang Anda ketikkan
");
if (isupper(karakter))
puts("adalah huruf kapital");
else
if (islower(karakter))
puts("adalah huruf kecil");
else
if (isdigit(karakter))
puts("adalah karakter digit");
else
if (karakter == ' ')
puts("adalah spasi");
else
{
puts("tidak termasuk huruf kapital, huruf kecil, digit maupun spasi\n");
}
}
22
Some Functions on String
(next…)
strcpy()
Bentuk pemakaian :
strcpy(tujuan, asal);
Fungsi strcpy() untuk menyalin string asal ke variabel string tujuan. Dalam
hal ini, variabel tujuan harus memiliki ukuran yang dapat digunakan untuk
menampung seluruh karakter dari string asal. Contoh :
#include <stdio.h>
#include <string.h>
main()
{
char pepatah[40];
strcpy(pepatah, "Rajin Pangkal Pandai");
puts(pepatah);
}
27
Some Functions on String
(next…)
strlwr()
Bentuk pemakaian :
strlwr(variabel_string);
Fungsi strlwr() digunakan untuk mengubah setiap huruf kapital dalam
variabel_string menjadi huruf kecil. Contoh :
#include <stdio.h>
#include <string.h>
main()
{
char informasi[] = "Kami adalah mahasiswa Teknik Elektro FT UNS";
strlwr(informasi);
puts(informasi);
}
32
Array of String
(next…)
void pengurutan_nama(char string[][panjang], int jumlah)
{
int i, j; char sementara[panjang];
for (i=0; i<jumlah-1; i++)
for (j=i+1; j<jumlah; j++)
if (strcmp(string[i], string[j]<0))
{
strcpy(sementara, string[i]);
strcpy(string[i], string[j]);
strcpy(string[j], sementara);
}
}
33
Array of String
(next…)
void penampilan_nama(char string[][panjang], int jumlah)
{
int i;
puts("\nData setelah diurutkan = ");
for (i=0; i<jumlah; i++)
printf("Nama ke-%d = %s\n", i+1, string[i]);
}
34
Next…
35