Pe
sukan dari
nt uk um um
ikut :
am pem rog
uah st ring.
ka set iap ka
Cat at an
endek
Suat u s
n m engguna
ikut :
DIK
STR
uluan
adalah seb
( ‘\ 0’) . St rin
arakt er aka
Karakt er
Suat u st
t idak ber
klarasi
st ring dapa
akan point e
KTAT MATA
RING DA
String
buah array
ng sangat
nam pilkan
at aupun m
ndeklarasia
ia be l_ st r in
C+ + , k ara
alam pende
an m em but
r null m eru
t ring dapat
risi sesuat u
kan St
at dideklara
er. Adapun
pakan ciri k
t dikat akan
n inform asi
sialisasi se
{ ‘c1 ’,’c2 ’,
dapat digun
nya st ring m
u byt e dalm
k has penga
n sebagai
“ ” ) .
gan dua car
uk pendek la
a be l[ n + 1 ]
m enam pilk
i pada laya
ebuah st ing
..,’cn ’,’\ 0 ’
nakan unt u
m enggunak
m m em ori.
akhir st ring
st r in g k os
ra, yait u m
arasian st r i
;
IF
g diakhiri
m . Dengan
kan prom p
ar dengan
g adalah
’} ;
uk m enanda
Cara yang pert am a adalah dengan m em buat sebuah array bert ipe char
sebanyak n+ 1 karakt er. Apabila m enggunakan cara pendeklarasian yang pert am a
ini, variabel st ring hanya dapat diisi sebanyak n k arakt er karena byt e t erakhir akan
dit em pat i karak t er null unt uk m engakhiri st ringnya. Sedangkan unt uk cara kedua
adalah dengan m em buat suat u variabel point er bert ipe char yang akan m enunj uk ke
alam at t em pat m enyim pan st ringnya.
Cara pert am a lebih baik dibandingk an dengan cara yang kedua. Cara
pendeklarasian yang kedua m em iliki kelem ahan yait u:
1. Variabel point er st ringnya harus langsung diinisialisasi pada saat
pendek larasian. Variabel t ersebut t idak bisa langsung diisi m elalui perint ah
input t anpa diinisialisasi t erlebih dahulu.
2. Apabila ingin m engisi secara langsung variabelnya t anpa harus diinisialisasi
t erlebih dahulu m aka harus m em int a t em pat t erlebih dahulu ke m em ori unt uk
m enam pung dat a st ringnya ( cont ohnya dengan perint ah m alloc) .
Unt uk lebih j elasny a buat lah program berik ut ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
/*
Program 10.1
Nama File : Lat-10.1.c
Programmer : Adam Mukharil Bachtiar, S.Kom. */
#include <stdio.h> #include <stdlib.h>
int main(int argc, char *argv[]) {
char nama1[31];
char *nama2="Adam MB";
printf("Masukkan nama pertama: ");fflush(stdin); gets(nama1);
printf("Nama pertama = %s\n",nama1); printf("Nama kedua = %s\n\n",nama2); system("PAUSE");
return 0; }
1 2 3 4 5 6
/*
Program 10.1
Nama File : Lat-10.1.cpp
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
#include <cstdlib> #include <iostream> using namespace std;
int main(int argc, char *argv[]) {
char nama1[31];
char *nama2="Adam MB";
cout<<"Masukkan nama pertama: ";fflush(stdin); cin.get(nama1,30);
cout<<"Nama pertama = "<<nama1<<endl;
cout<<"Nama kedua = "<<nama2<<endl<<endl; system("PAUSE");
return EXIT_SUCCESS; }
Hasil eksekusi:
Gam bar 10.1 Hasil eksekusi program Lat 10.1
Fungsi String
Di dalam pem rogram an C/ C+ + disediakan beberapa buah fungsi unt uk
m engolah dat a st ring. Fungsi- fungsi yang disediakan unt uk m engolah dat a st ring
adalah sebagai berikut :
1. Menghit ung panj ang karak t er st ring.
3. Menggabungkan st ring.
4. Mem bandingkan dua buah st ring.
5. Mengkonversi isi st ring ke huruf kecil.
6. Mengkonversi isi st ring ke huruf besar.
7. Mencari subst ring.
8. Mem balik isi st r ing.
9. Menggant i isi st ring dengan suat u karakt er.
Unt uk bisa m enggunakan fungsi- fungsi yang t elah disebut kan di at as, di dalam
program C/ C+ + perlu diser t akan file st ring.h ( # include < st ring.h> ) .
Menghitung Panjang Suatu String
Bent uk um um fungsi unt uk m enghit ung panj ang suat u st ring adalah sebagai
berikut :
st r le n( st r in g) ;
Fungsi ini akan m enghasilkan sebuah angka int eger yang m erupakan panj ang dari
st ring di dalam param et er fungsiny a ( t e r m a suk spa si). Unt uk lebih j elasnya
buat lah program di baw ah ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
/*
Program 10.2
Nama File : Lat-10.2.c
Programmer : Adam Mukharil Bachtiar, S.Kom. */
#include <stdio.h> #include <stdlib.h> #include <string.h>
int main(int argc, char *argv[]) {
char string[31]; int panjang;
printf("Masukkan suatu string : ");fflush(stdin); gets(string);
panjang=strlen(string);
20 21
return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
/*
Program 10.2
Nama File : Lat-10.2.cpp
Programmer : Adam Mukharil Bachtiar, S.Kom. */
#include <cstdlib> #include <iostream> #include <string.h> using namespace std;
int main(int argc, char *argv[]) {
char string[31]; int panjang;
cout<<"Masukkan suatu string : ";fflush(stdin); cin.get(string,30);
panjang=strlen(string);
cout<<"String yang dimasukkan = "<<string<<endl; cout<<"Panjang string = "<<panjang
<<endl<<endl; system("PAUSE"); return EXIT_SUCCESS; }
Hasil eksekusi:
Menyalin Isi String
Sebuah v ariabel st ring t idak dapat kit a isi m enggunakan isi variabel st ring
lainnya secara langsung ( variabel2= variabel1) . Unt uk dapat m engisinya diperlukan
suat u fungsi st ring. Bent uk um um dari fungsi unt uk m enyalin isi st ring adalah
sebagai berikut :
st r cpy( st r in g2 ,st r in g1 ) ;
a t a u
st r n cpy ( st r in g2 ,st r in g1 ,j um la h _ k a r a k t e r ) ;
Fungsi st r cpy akan m enyalin seluruh isi st ring1 ke st ring2 sedangkan st rncpy akan
m enyalin isi st ring1 ke st ring2 sebanyak j um lah karakt er yang diberikan di
param et er fungsiny a. Unt uk lebih j elasnya buat lah program berik ut ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
/*
Program 10.3
Nama File : Lat-10.3.c
Programmer : Adam Mukharil Bachtiar, S.Kom. */
#include <stdio.h> #include <stdlib.h> #include <string.h>
int main(int argc, char *argv[]) {
char string1[31]; char string2[31]; int k;
printf("Masukkan string: ");fflush(stdin); gets(string1);
printf("Masukkan jumlah karakter salin: "); scanf("%i",&k);
strcpy(string2,string1);
printf("Hasil penyalinan strcpy = %s\n",string2); strncpy(string2,string1,k);
string2[k]='\0';//menutup string
printf("Hasil penyalinan strncpy = %s\n\n",string2); system("PAUSE");
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
/*
Program 10.3
Nama File : Lat-10.3.cpp
Programmer : Adam Mukharil Bachtiar, S.Kom. */
#include <cstdlib> #include <iostream> #include <string.h> using namespace std;
int main(int argc, char *argv[]) {
char string1[31]; char string2[31]; int k;
cout<<"Masukkan string: ";fflush(stdin); cin.get(string1,30);
cout<<"Masukkan jumlah karakter salin: ";cin>>k; strcpy(string2,string1);
cout<<"Hasil penyalinan strcpy = "<<string2<<endl; strncpy(string2,string1,k);
string2[k]='\0';//menutup string
cout<<"Hasil penyalinan strncpy = "<<string2 <<endl<<endl;
system("PAUSE"); return EXIT_SUCCESS; }
Hasil eksekusi:
Menggabungkan String
Bent uk um um fungsi unt uk m enggabungkan st ring adalah sebagai berikut :
st r ca t ( st r in g1 ,st r in g2 ) ;
a t a u
st r n ca t ( st r ing1 ,st r in g2 ,j u m la h _ k a r a k t e r ) ;
St rcat akan m enggabungkan isi st ring1 dengan isi st ring2 secara keseluruhan
sedangkan st rncat akan m enggabungkan isi st ring1 dengan isi st ring2 sej um lah
karakt er yang diisikan di dalam param et er fungsinya. Unt uk lebih j elasnya buat lah
program berikut ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
/*
Program 10.4
Nama File : Lat-10.4.c
Programmer : Adam Mukharil Bachtiar, S.Kom. */
#include <stdio.h> #include <stdlib.h> #include <string.h>
int main(int argc, char *argv[]) {
char string1[]="Kita sedang belajar"; char string2[]=" fungsi string bersama!"; char string3[50];
strcpy(string3,string1);
printf("Hasil penggabungan strcat = %s\n" ,strcat(string3,string2));
printf("Hasil penggabungan strncat = %s\n\n" ,strncat(string1,string2,14));
system("PAUSE"); return 0;
} 1 2 3 4 5 6 7
/*
Program 10.4
Nama File : Lat-10.4.cpp
Programmer : Adam Mukharil Bachtiar, S.Kom. */
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#include <iostream> #include <string.h> using namespace std;
int main(int argc, char *argv[]) {
char string1[]="Kita sedang belajar"; char string2[]=" fungsi string bersama!"; char string3[50];
strcpy(string3,string1);
cout<<"Hasil penggabungan strcat = " <<strcat(string3,string2)<<endl; cout<<"Hasil penggabungan strncat = "
<<strncat(string1,string2,14)<<endl<<endl; system("PAUSE");
return EXIT_SUCCESS; }
Hasil eksekusi:
Membandingkan Dua Buah String
Ada em pat buah bent uk fungsi unt uk m em bandingkan isi dua buah st ring
yait u:
st r cm p( st r in g1 ,st r in g2 ) ;
da n
st r n cm p( st r in g1 ,st r in g2 ,j u m la h _ k a r a k t e r ) ;
a t a u
st r cm pi( st r ing1 ,st r in g2 ) ;
da n
st r n icm p( st r in g1 ,st r in g2 ,j u m la h _ k a r a k t e r ) ;
Fungsi st rcm p digunakan unt uk m em bandingkan dua buah st ring secara case
sensit ive ( m em bedakan huruf besar dan huruf kecil) sedangkan st rncm p akan
m em bandingkan dua buah st ring secara case sensit ive sebany ak j um lah karakt er
pada param et er. Fungsi st rncm pi akan m em bandingkan dua buah st ring secara case
insensit ive ( t idak m em bedak an huruf besar dan huruf kecil) sedangkan st rncm pi
akan m em bandingkan dua buah st ring secara case insensit ive sebanyak j um lah
karakt er pada param et er.
Sem ua fungsi di at as akan m enghasilkan sebuah nilai int eger sebagai berikut :
1. Nilai ret urn lebih dari nol ( > 0 Æ nilai posit if) apabila st ring1 lebih besar dari
st ring2.
2. Nilai ret urn sam a dengan nol ( = = 0) apabila st ring1 sam a dengan st ring2.
3. Nilai ret urn kurang dari nol ( < 0 Æ nilai negat if) apabila st ring1 lebih kecil dari
st ring2.
Unt uk lebih j elasny a buat lah program berik ut ini:
1 2 3 4 5 6 7 8 9 10 11 12
/*
Program 10.5
Nama File : Lat-10.5.c
Programmer : Adam Mukharil Bachtiar, S.Kom. */
#include <stdio.h> #include <stdlib.h> #include <string.h>
13
char string1[]="ABCD"; char string2[]="ABCD"; char string3[]="abcd"; int banding;
banding=strcmp(string1,string2); printf("Hasil strcmp : \n"); if(banding==0)
printf("%s sama dengan %s\n",string1,string2); else
if(banding>0)
printf("%s lebih besar dibanding %s\n"
banding=strncmp(string1,string3,2);
printf("Hasil strncmp dua karakter: \n"); if(banding==0)
printf("%s sama dengan %s\n",string1,string3); else
if(banding>0)
printf("%s lebih besar dibanding %s\n"
banding=strcmpi(string1,string3); printf("Hasil strcmpi : \n"); if(banding==0)
printf("%s sama dengan %s\n",string1,string3); else
if(banding>0)
printf("%s lebih besar dibanding %s\n"
banding=strnicmp(string1,string3,2);
printf("Hasil strnicmp dua karakter: \n"); if(banding==0)
printf("%s sama dengan %s\n",string1,string3); else
if(banding>0)
54
Programmer : Adam Mukharil Bachtiar, S.Kom. */
#include <cstdlib> #include <iostream> #include <string.h> using namespace std;
int main(int argc, char *argv[]) {
char string1[]="ABCD"; char string2[]="ABCD"; char string3[]="abcd"; int banding;
banding=strcmp(string1,string2); cout<<"Hasil strcmp : "<<endl; if(banding==0)
cout<<string1<<" sama dengan "<<string2<<endl; else
if(banding>0)
cout<<string1<<" lebih besar dibanding " <<string2<<endl;
else
cout<<string1<<" lebih kecil dibanding " <<string2<<endl;
cout<<endl;
banding=strncmp(string1,string3,2);
cout<<"Hasil strncmp dua karakter: "<<endl; if(banding==0)
cout<<string1<<" sama dengan "<<string3<<endl; else
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
cout<<string1<<" lebih besar dibanding " <<string3<<endl;
else
cout<<string1<<" lebih kecil dibanding " <<string3<<endl;
cout<<endl;
banding=strcmpi(string1,string3); cout<<"Hasil strcmpi : "<<endl; if(banding==0)
cout<<string1<<" sama dengan "<<string3<<endl; else
if(banding>0)
cout<<string1<<" lebih besar dibanding " <<string3<<endl;
else
cout<<string1<<" lebih kecil dibanding " <<string3<<endl;
cout<<endl;
banding=strnicmp(string1,string3,2);
cout<<"Hasil strnicmp dua karakter: "<<endl; if(banding==0)
cout<<string1<<" sama dengan "<<string3<<endl; else
if(banding>0)
cout<<string1<<" lebih besar dibanding " <<string3<<endl;
else
cout<<string1<<" lebih kecil dibanding " <<string3<<endl;
cout<<endl;
Hasil eksekusi:
Gam bar 10.5 Hasil eksekusi program Lat 10.5
Mengkonversi Isi String Ke Huruf Kecil
Bent uk um um fungsi unt uk m engkonversi isi st ring ke huruf kecil adalah
sebagai berikut :
st r lw r ( st r in g) ;
Unt uk lebih j elasny a buat lah program berik ut ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/*
Program 10.6
Nama File : Lat-10.6.c
Programmer : Adam Mukharil Bachtiar, S.Kom. */
#include <stdio.h> #include <stdlib.h> #include <string.h>
int main(int argc, char *argv[]) {
char string[31];
printf("Masukkan string: ");fflush(stdin); gets(string);
strlwr(string);
17 18 19
system("PAUSE"); return 0;
} 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
/*
Program 10.6
Nama File : Lat-10.6.cpp
Programmer : Adam Mukharil Bachtiar, S.Kom. */
#include <cstdlib> #include <iostream> #include <string.h> using namespace std;
int main(int argc, char *argv[]) {
char string[31];
cout<<"Masukkan string: ";fflush(stdin); cin.get(string,30);
strlwr(string);
cout<<"String setelah strlwr= "<<string<<endl<<endl; system("PAUSE");
return EXIT_SUCCESS; }
Hasil eksekusi:
Mengkonversi Isi String Ke Huruf Besar
Bent uk um um fungsi m engkonversi isi st ring ke huruf besar adalah sebagai
berikut :
st r upr ( st r ing) ;
Unt uk lebih j elasny a buat lah program sebagai berikut :
1
Programmer : Adam Mukharil Bachtiar, S.Kom. */
#include <stdio.h> #include <stdlib.h> #include <string.h>
int main(int argc, char *argv[]) {
char string[31];
printf("Masukkan string: ");fflush(stdin); gets(string);
strupr(string);
printf("String setelah strupr= %s\n\n",string); system("PAUSE");
Programmer : Adam Mukharil Bachtiar, S.Kom. */
#include <cstdlib> #include <iostream> #include <string.h> using namespace std;
int main(int argc, char *argv[]) {
char string[31];
17 18 19 20 21
cin.get(string,30); strupr(string);
cout<<"String setelah strupr= "<<string<<endl<<endl; system("PAUSE");
return EXIT_SUCCESS; }
Hasil eksekusi:
Gam bar 10.7 Hasil eksekusi program Lat 10.7
Mencari Substring
Terkadang seorang program m er m em but uhkan fungsi unt uk m encari
subst ring ( bagian dar i st ring) . Bent uk um um dari fungsi m encari subst ring adalah
sebagai berikut :
st r st r ( st r in g,su bst r ing) ;
Fungsi st rst r akan m enghasilkan point er yang m enunj uk ke subst ring apabila
subst ring t ersebut ada di dalam st ringnya. Unt uk lebih j elasny a buat lah pr ogram
berikut ini:
1 2 3 4 5
/*
Program 10.8
Nama File : Lat-10.8.c
6
#include <stdio.h> #include <stdlib.h> #include <string.h>
int main(int argc, char *argv[]) {
char string[31]; char substring[15]; char *pstring;
printf("Masukkan string : ");fflush(stdin); gets(string);
printf("Masukkan substring : ");fflush(stdin); gets(substring);
pstring=strstr(string,substring);
printf("Sub string = %s\n",pstring); printf("Posisi sub string = %i\n\n",
(pstring-string)+1);
Programmer : Adam Mukharil Bachtiar, S.Kom. */
#include <cstdlib> #include <iostream> #include <string.h> using namespace std;
int main(int argc, char *argv[]) {
char string[31]; char substring[15]; char *pstring;
cout<<"Masukkan string : ";fflush(stdin); cin.get(string,30);
cout<<"Masukkan substring : ";fflush(stdin); cin.get(substring,14);
pstring=strstr(string,substring);
23 24 25
system("PAUSE");
return EXIT_SUCCESS; }
Hasil eksekusi:
Gam bar 10.8 Hasil eksekusi program Lat 10.8
Cat at an Fungsi st rst r hanya dapat m encari secara case sensit ive dan unt uk
m endapat kan posisi secara benar m aka di dalam program nya
point er hasil st rst r harus dit am bahkan dengan sat u karena indeks
st ring dim ulai dari nol.
Membalik Isi String
Bent uk um um fungsi unt uk m em balik isi st ring adalah sebagai berikut :
st r r e v( st r in g) ;
Unt uk lebih j elasny a buat lah program berik ut ini:
1 2 3 4 5
/*
Program 10.9
Nama File : Lat-10.9.c
6 7 8 9 10 11 12 13 14 15 16 17 18 19
#include <stdio.h> #include <stdlib.h> #include <string.h>
int main(int argc, char *argv[]) {
char string[31];
printf("Masukkan string: ");fflush(stdin); gets(string);
strrev(string);
printf("String setelah strrev= %s\n\n",string); system("PAUSE");
return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
/*
Program 10.9
Nama File : Lat-10.9.cpp
Programmer : Adam Mukharil Bachtiar, S.Kom. */
#include <cstdlib> #include <iostream> #include <string.h> using namespace std;
int main(int argc, char *argv[]) {
char string[31];
cout<<"Masukkan string: ";fflush(stdin); cin.get(string,30);
strrev(string);
cout<<"String setelah strrev= "<<string<<endl<<endl; system("PAUSE");
Hasil eksekusi:
Gam bar 10.9 Hasil eksekusi program Lat 10.9
Mengganti Isi String Dengan Suatu Karakter
Bent uk um um fungsi unt uk m enggant i isi st ring dengan suat u karakt er adalah
sebagai berikut :
st r se t ( st r in g,k a r a k t e r ) ;
a t a u
st r n se t ( st r ing,k a r a k t e r ,j u m la h _ k a r a k t e r ) ;
Fungsi st rset akan m enggant i isi st ring dengan karak t er yang ada di param et er
secara keseluruhan sedangkan st rnset ak an m enggant i isi st ring dengan karakt er
yang ada di param et er sej um lah karakt er yang ada di param et er. Unt uk lebih
j elasny a buat lah pr ogram ber ik ut ini:
1 2 3 4 5 6 7 8 9 10
/*
Program 10.10
Nama File : Lat-10.10.c
Programmer : Adam Mukharil Bachtiar, S.Kom. */
11 12 13 14 15 16 17 18 19 20 21
int main(int argc, char *argv[]) {
char string[]="Saya sedang belajar fungsi string"; char karakter='A';
strnset(string,karakter,11);
printf("String setelah strnset = %s\n",string); strset(string,karakter);
printf("String setelah strset = %s\n\n",string); system("PAUSE");
return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
/*
Program 10.10
Nama File : Lat-10.10.c
Programmer : Adam Mukharil Bachtiar, S.Kom. */
#include <cstdlib> #include <iostream> #include <string.h> using namespace std;
int main(int argc, char *argv[]) {
char string[]="Saya sedang belajar fungsi string"; char karakter='A';
strnset(string,karakter,11);
cout<<"String setelah strnset = "<<string<<endl; strset(string,karakter);
cout<<"String setelah strset = "<<string <<endl<<endl;
Hasil eksekusi:
Gam bar 10.10 Hasil eksekusi program Lat 10.10
String Sebagai Parameter Fungsi
Sepert i t ipe dat a lainnya, st ring j uga bisa digunak an sebagai param et er
fungsi. Tidak hanya sebagai param et er fungsi t et api j uga bisa digunak an sebagai
nilai balik suat u fungsi. Sebagai cont oh adalah kasus t ent ang k ode barang dan nam a
barang sebagai berikut :
1. Jika kode barang = B001 m ak a nam a barang = Kem ej a.
2. Jika kode barang = B002 m ak a nam a barang = Kaos.
3. Jika kode barang = B003 m ak a nam a barang = Jas.
Kasus ini dapat diselesaik an dengan dua car a yait u:
1. Menggunakan st ring sebagai nilai balik fungsi.
2. Menggunakan st ring sebagai param et er fungsi.
Menggunakan cara yang pert am a m aka st ring akan dij adikan sebagai t ipe dat a suat u
fungsi. Unt uk lebih j elasnya buat lah program berikut ini:
1 2 3 4 5 6 7
/*
Program 10.11
Nama File : Lat-10.11.c
Programmer : Adam Mukharil Bachtiar, S.Kom. */
8 #include <string.h>
char *nama_barang(char kode_barang[]) {
if(strcmp(kode_barang,"B001")==0) return "Kemeja";
else
if(strcmp(kode_barang,"B002")==0) return "Kaos";
else
return "Jas"; }
int main(int argc, char *argv[]) {
char kode_barang[6]; char *nama_brg;
printf("Masukkan kode barang : ");fflush(stdin); gets(kode_barang);
strupr(kode_barang);//mencegah error huruf kecil nama_brg=nama_barang(kode_barang);
printf("Nama barang = %s\n\n",nama_brg);
Programmer : Adam Mukharil Bachtiar, S.Kom. */
#include <cstdlib> #include <iostream> #include <string.h> using namespace std;
char *nama_barang(char kode_barang[]) {
if(strcmp(kode_barang,"B001")==0) return "Kemeja";
else
if(strcmp(kode_barang,"B002")==0) return "Kaos";
21 22 23 24 25 26 27 28 29 30 31 32 33 34
return "Jas"; }
int main(int argc, char *argv[]) {
char kode_barang[6]; char *nama_brg;
cout<<"Masukkan kode barang : ";fflush(stdin); cin.get(kode_barang,5);
strupr(kode_barang);//mencegah error huruf kecil nama_brg=nama_barang(kode_barang);
cout<<"Nama barang = "<<nama_brg <<endl<<endl;
system("PAUSE"); return EXIT_SUCCESS; }
Hasil eksekusi:
Gam bar 10.11 Hasil eksekusi program Lat 10.11
Unt uk cara kedua, st ring dij adikan param et er di dalam sebuah fungsi. Unt uk lebih
j elasny a buat lah pr ogram ber ik ut ini:
1 2 3 4 5 6
/*
Program 10.12
Nama File : Lat-10.12.c
7
#include <stdio.h> #include <stdlib.h> #include <string.h>
void nama_barang(char kode_barang[],char *nama_brg) {
if(strcmpi(kode_barang,"B001")==0) strcpy(nama_brg,"Kemeja");
else
if(strcmpi(kode_barang,"B002")==0) strcpy(nama_brg,"Kaos");
else
strcpy(nama_brg,"Jas"); }
int main(int argc, char *argv[]) {
char kode_barang[6]; char nama_brg[7];
printf("Masukkan kode barang : ");fflush(stdin); gets(kode_barang);
nama_barang(kode_barang,nama_brg);
printf("Nama barang = %s\n\n",nama_brg);
Programmer : Adam Mukharil Bachtiar, S.Kom. */
#include <cstdlib> #include <iostream> #include <string.h> using namespace std;
void nama_barang(char kode_barang[],char *nama_brg) {
if(strcmpi(kode_barang,"B001")==0) strcpy(nama_brg,"Kemeja");
else
if(strcmpi(kode_barang,"B002")==0) strcpy(nama_brg,"Kaos");
21 22 23 24 25 26 27 28 29 30 31 32 33
strcpy(nama_brg,"Jas"); }
int main(int argc, char *argv[]) {
char kode_barang[6]; char nama_brg[7];
cout<<"Masukkan kode barang : ";fflush(stdin); cin.get(kode_barang,6);
nama_barang(kode_barang,nama_brg);
cout<<"Nama barang = "<<nama_brg <<endl<<endl;
system("PAUSE"); return EXIT_SUCCESS; }
Hasil eksekusi: