• Tidak ada hasil yang ditemukan

BAB X String dan Manipulasinya

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB X String dan Manipulasinya"

Copied!
27
0
0

Teks penuh

(1)

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

(2)

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

(3)

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.

(4)

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

(5)

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:

(6)

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");

(7)

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:

(8)

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. */

(9)

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:

(10)

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>

(11)

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)

(12)

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

(13)

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;

(14)

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

(15)

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:

(16)

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)

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

(18)

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

(19)

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

(20)

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");

(21)

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. */

(22)

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;

(23)

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. */

(24)

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

(25)

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

(26)

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");

(27)

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:

Gambar

Gambar 10.1 Hasil eksekusi program Lat 10.1
Gambar 10.2 Hasil eksekusi program Lat 10.2
Gambar 10.3 Hasil eksekusi program Lat 10.3
Gambar 10.4 Hasil eksekusi program Lat 10.4
+7

Referensi

Dokumen terkait

variasi mlati. Sehingga mempunyai kesan praktis dan tidak mengganggu gerak penari apalagi ada satu penari pada adegan tertentu menaiki burung garuda. Perlu

Ditujukan kepada Peserta Paket Lelang Air Minum Bersih, Jalan Lingkungan dan Drainase Kota dengan Pemilihan Langsung Bidang Cipta Karya Dinas Pekerjaaan Umum Kabupaten Manggarai

Gedung H, Kampus Sekaran-Gunungpati, Semarang 50229 Telepon: (024)

Maka hal-hal tersebut yang semakin berkembang pesat disebut sebagai Modernisasi yang hadir di kehidupan sosial masyarakat yang pada saat ini sudah banyak berpengaruh

Pengaruh debt covenant terhadap konservatisme dapat dilihat dari semakin sering perusahaan memutuskan perjanjian utang maka perusahaan cenderung memilih strategi akuntansi

- Bagaimana Seharusnya Mengimplementasikan STRATEGI DIGITAL MARKETING di 2017 ini untuk Kesuksesan Bisnis atau Produk Anda - Bagaimana Eksplorasi CONSUMER BEHAVIOR lewat Media Online

Sehubungan butir 1 (satu) di atas, apabila perusahaan Saudara berkeberatan atas keputusan ini, dapat mengajukan sanggahan secara tertulis dan disampaikan kepada Panitia

mengembangkan buku mewarnai “25 TON” (25 Tanaman Obat Nias) untuk siswa kelas III sekolah dasar supaya mereka dapat mengetahui pentingnya memelihara, merawat, dan