Mengisi dan Menampilkan Elemen Array

  adalah kum m engguna leh suat u ol ( 0) . Unt u k um um da t ipe _ nggunakan nam pilkann ang sudah kan sepert i

  .Kom.

  UKHARIL BA KTAT MATA ARR

  Arr ay a t ent u y ang unj ukkan o i angk a no apun bent uk a bisa m e m udian m e a angka ya gram nya a

  m pulan dari akan nam a indeks. Un uk m endek ari pendekla

  DISU

  A KULIAH P

  nilai dat a- yang sam nt uk pem ro k larasikan a arasian seb m a _ a r r a y[ j nt uk m ena bali. Sebag m elalui key n program d

  PEMROGRA

  H : ADAM MU

  AMAN I g bert ipe sa t au posisi

DIK uluan

BAB V RAY (L

VIII ARIK)

IF

F

Pe

Array

  • dat a yang m a. Let ak a ogram an C array digun buah array

  ngan cara api apabila adi? Apabi any ak 1000 n sangat b unakanlah a

  6

  t ert dit u dari Ada Kit a k em lim a prog

  1

  2

  3

  4

  5

  urut an en array dihit ung racket ) . ut : e sam a m pilkan al array but uhan ng akan ut uhkan unya ini rena it u

  m enuhi keb an, apa yan m ak a dibu ut put . Tent u ni. Oleh kar

  ,x5;

  am a dalam dari elem e eks array d anda [ ] ( br bagai beriku at a bert ipe nt uk m enam m m engena

  sudah m em uah bilanga it am pung nput dan ou program in n ini.

  x2,x3,x4, ; ; ; ; ; 1; 2; 3; 4; 5;

  C/ C+ + inde nakanlah t a adalah seb le m e n ] ; eberapa da kasus un k a sebelum ni:

  t ersebut s da 1000 bu ng ingin d inst ruksi in m em buat p rm asalahan

  ,x2,x3,x “%i”,&x1 “%i”,&x2 “%i”,&x3 “%i”,&x4 “%i”,&x5 (“%i”,x1 (“%i”,x2 (“%i”,x3 (“%i”,x4 (“%i”,x5

  int x1,x cin>>x1; cin>>x2; cin>>x3; cin>>x4; cin>>x5; cout<<x1 cout<<x2 cout<<x3 cout<<x4 cout<<x5

  j u m la h _ e l am pung be gai cont oh board m ak di baw ah in

  7

  8

  program am pung ad angk a yan 1000 buah kt u unt uk saiak an per

  i c c c c c c c c c c

  9

  10

  ebenarnya ng ingin dit 000 buah iabel dan 1 k s dan w ak k m enyeles DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  11 Den

  _ da t a na m n array un nnya kem b diinput m i penggalan

  t et a t erj seb aka digu USUN OLEH endahu

  int x1, scanf(“ scanf(“ scanf(“ scanf(“ scanf(“ printf( printf( printf( printf( printf(

  di at as se angka yan ila ada 10 0 buah var boros sint ak array unt uk

  x4,x5; 1); 2); 3); 4); 5); 1); 2); 3); 4); 5);

Mengisi dan Menampilkan Elemen Array

  13

  26 /* Program 8.1 Nama File : Lat-8.1.c Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int x[5];//deklarasi array printf("Masukkan nilai 1 : ");scanf("%i",&x[0]); printf("Masukkan nilai 2 : ");scanf("%i",&x[1]); printf("Masukkan nilai 3 : ");scanf("%i",&x[2]); printf("Masukkan nilai 4 : ");scanf("%i",&x[3]); printf("Masukkan nilai 5 : ");scanf("%i",&x[4]); printf("\n"); printf("Nilai ke-1 = %i\n",x[0]); printf("Nilai ke-2 = %i\n",x[1]); printf("Nilai ke-3 = %i\n",x[2]); printf("Nilai ke-4 = %i\n",x[3]); printf("Nilai ke-5 = %i\n\n",x[4]); system("PAUSE"); return 0; }

  25

  24

  23

  22

  21

  20

  19

  18

  17

  16

  15

  14

  

Ada dua buah cara unt uk m engisi dan m enam pilkan elem en array yait u:

  1. Mengisi dan m enam pilkan array secara langsung Cara yang pert am a ini efekt if unt uk m enyelesaikan perm asalahan y ang t idak m engandung banyak variabel yang dibut uhkan. Carany a adalah sebagai berikut :

  11

  10

  9

  8

  7

  6

  5

  4

  3

  2

  1

  Sebagai cont oh buat program dengan sint ak s di baw ah ini:

  / / m e n gisi a r r a y n a m a _ a r r a y[ in de k s] = nila i_ e le m e n ; / / m e n a m pilk a n a r r a y

pr int f( “% f or m a t ”,na m a _ a r r a y [ inde k s] ) ;

a t a u

cou t < < na m a _ a r r a y [ in de k s] ;

  12

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  15

  26 /* Program 8.1 Nama File : Lat-8.1.cpp Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int x[5]; cout<<"Masukkan nilai 1 : ";cin>>x[0]; cout<<"Masukkan nilai 2 : ";cin>>x[1]; cout<<"Masukkan nilai 3 : ";cin>>x[2]; cout<<"Masukkan nilai 4 : ";cin>>x[3]; cout<<"Masukkan nilai 5 : ";cin>>x[4]; cout<<endl; cout<<"Nilai ke-1 = "<<x[0]<<endl; cout<<"Nilai ke-2 = "<<x[1]<<endl; cout<<"Nilai ke-3 = "<<x[2]<<endl; cout<<"Nilai ke-4 = "<<x[3]<<endl; cout<<"Nilai ke-5 = "<<x[4]<<endl<<endl; system("PAUSE"); return EXIT_SUCCESS; }

  25

  24

  23

  22

  21

  20

  19

  18

  17

  16

  14

  1

  13

  12

  11

  10

  9

  8

  7

  6

  5

  4

  3

  2

  Hasil eksekusi:

Gam bar 8.1 Hasil eksekusi program Lat 8.1

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  3

  21

  22

  23

  24

  25 /* Program 8.2 Nama File : Lat-8.2.c Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int x[5],i; for(i=0;i<=4;i++) { printf("Masukkan nilai %i : ",i+1); scanf("%i",&x[i]); } printf("\n"); for(i=0;i<=4;i++) { printf("Nilai ke-%i = %i\n",i+1,x[i]); } printf("\n"); system("PAUSE"); return 0; }

  1

  2

  4

  19

  5

  6

  7

  8

  9

  10

  11

  20

  18

  Apabila m enggunakan cara pert am a t ent unya akan sangat m enyulit kan dalam pem buat an program nya karena m em but uhkan banyak baris perint ah. Adapun cara m engisi dan m enam pilkan elem en array m enggunakan pengulangan adalah sebagai berikut :

  8

  1

  2

  3

  4

  5

  6

  7

  9

  17

  10

  11

  12

  13

  14

  15

  16

  12 /* Program 8.2 Nama File : Lat-8.2.cpp Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[])

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  21

  27 { int x[5],i; for(i=0;i<=4;i++) { cout<<"Masukkan nilai "<<i+1<<" : ";cin>>x[i]; } cout<<endl; for(i=0;i<=4;i++) { cout<<"Nilai ke-"<<i+1<<" = "<<x[i]<<endl; } cout<<endl; system("PAUSE"); return EXIT_SUCCESS; }

  26

  25

  24

  23

  22

  20

  13

  19

  18

  17

  16

  15

  14

  Hasil eksekusi:

Gam bar 8.2 Hasil eksekusi program Lat 8.2

Cat at an Hal y ang harus diperhat ik an dalam m em pergunakan array di C/ C+ + adalah indeks arr aynya dihit ung m ulai dari nol. Apabila m em esan elem ennya sebanyak 10 m aka elem en t erakhir m em iliki indeks sem bilan.

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

Menginisialisasi Array

  Unt uk lebih j elasny a buat pr ogram berikut ini:

  16

  28 /* Program 8.3 Nama File : Lat-8.3.c Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int x[5]={1,2,3,4,5}; int i; for(i=0;i<=4;i++) { printf("x[%i] default= %i\n",i,x[i]); } x[2]=30; x[3]=40; printf("\n"); for(i=0;i<=4;i++) { printf("x[%i] = %i\n",i,x[i]); } printf("\n"); system("PAUSE"); return 0; }

  27

  26

  25

  24

  23

  22

  21

  20

  19

  18

  17

  15

  1

  Unt uk m engisi elem en array t idak harus m elalui input nilai t et api j uga bisa

dilakukan pada saat m endeklarasikannya ( inisialisasi) . Hal ini dim aksudkan unt uk

m engisikan nilai default t erhadap ar ray t ersebut sehingga apabila ada elem en yang

t idak diisi m aka nilai yang akan digunakan adalah nilai default nya. Bent uk um um

inisialisasi dari array adalah sebagai berikut :

t ipe _ da t a n a m a _ a r r a y[ n ] = { nila i_ 1 ,n ila i_ 2 ,n ila i_ 3 ,...,n ila i_ n } ;

  13

  12

  11

  10

  9

  8

  7

  6

  5

  4

  3

  2

  14

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  17

  30 /* Program 8.3 Nama File : Lat-8.3.cpp Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int x[5]={1,2,3,4,5}; int i; for(i=0;i<=4;i++) { cout<<"x["<<i<<"] default= "<<x[i]<<endl; } x[2]=30; x[3]=40; cout<<endl; for(i=0;i<=4;i++) { cout<<"x["<<i<<"] = "<<x[i]<<endl; } cout<<endl; system("PAUSE"); return EXIT_SUCCESS; }

  29

  28

  27

  26

  25

  24

  23

  22

  21

  20

  19

  18

  16

  1

  15

  14

  13

  12

  11

  10

  9

  8

  7

  6

  5

  4

  3

  2

  Hasil eksekusi:

Gam bar 8.3 Hasil eksekusi program Lat 8.3

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

Array Dari Karakter

  Apabila ingin m enginisialisasi m aka bent uk um unya adalah sebagai berikut :

ch a r na m a _ a r r a y [ n ] = { ‘nila i_ 1 ’,..,’n ila i_ n - 1 ’,’\ 0 ’} ;

  13

  24 /* Program 8.4 Nama File : Lat-8.4.c Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i; char nama[5]={'A','d','@','m','\0'}; char nama2[5]="Ad@m"; printf("Array per karakter = "); for(i=0;i<=4;i++) { printf("%c",nama[i]); } printf("\n"); printf("Array string = %s\n\n",nama2); system("PAUSE"); return 0; }

  23

  22

  21

  20

  19

  18

  17

  16

  15

  14

  12

  

Nam un bent uk inisialisasi di at as sulit unt uk dit uliskan dan riskan t erhadap

t erj adinya kesalahan. Oleh sebab it u m aka digunakan bent uk um um inisialisasi yang

lain yait u:

ch a r n a m a _ a r r a y [ n ] = ”n ila i_ 1 - n ila i_ n - 1 ”;

  Dalam pem rogram an C/ C+ + kum pulan karakt er disebut dengan st ring. Oleh

karena it u unt uk m endek larasikan st ring digunak an array bert ipe ch a r . Unt uk

m endeklarasikan array bert ipe char adalah sebagai berikut : ch a r n a m a _ a r r a y[ j u m la h _ e le m e n] ;

  10

  9

  8

  7

  6

  5

  4

  3

  2

  1

  Sebagai cont oh buat lah program berikut ini:

  11

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  15

  26 /* Program 8.4 Nama File : Lat-8.4.cpp Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int i; char nama[5]={'A','d','@','m','\0'}; char nama2[5]="Ad@m"; cout<<"Array per karakter = "; for(i=0;i<=4;i++) { cout<<nama[i]; } cout<<endl; cout<<"Array string = "<<nama2<<endl<<endl; system("PAUSE"); return EXIT_SUCCESS; }

  25

  24

  23

  22

  21

  20

  19

  18

  17

  16

  14

  1

  13

  12

  11

  10

  9

  8

  7

  6

  5

  4

  3

  2

  Hasil eksekusi:

Gam bar 8.4 Hasil eksekusi program Lat 8.4

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  Array Berdasarkan Dimensi Set iap m enginisialisasi array dibut uhkan subscript at au indeks array.

  

Berdasark an j um lah subscript array t erbagi m enj adi t iga ( y ang sering digunakan)

yait u:

  1. Array berdim ensi sat u

  2. Array berdim ensi dua 3. Array berdim ensi t iga. Dim ensi t ersebut m enggam barkan j um lah subscript suat u array.

Array Dimensi Satu

  Array sat u dim ensi m erupakan t ipe array yang sering digunakan. Sesuai

dengan nam anya array ini m em iliki sat u subscript . Bent uk um um dari array sat u

dim ensi adalah sebagai berikut :

t ipe _ da t a n a m a _ a r r a y[ j u m la h _ e le m e n ] ;

  Sebagai cont oh: 1. int bilangan[ 10] ; 2. char nam a[ 31] ; 3. float nilai[ 100] ;

  Unt uk lebih j elasny a buat lah program ini:

  1 /*

  2 Program 8.5

  3 Nama File : Lat-8.5.c 4 Programmer : Adam Mukharil Bachtiar, S.Kom. 5 */

  6 7 #include <stdio.h> 8 #include <stdlib.h>

  9 10 int main(int argc, char *argv[]) 11 { 12 float nilai[10]; 13 int x,y; 14 printf("Mau berapa data [1..10]: ");scanf("%i",&y); 15 for(x=0;x<y;x++) 16 { 17 printf("Nilai ke-%i : ",x+1);

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  21

  14

  15

  16

  17

  18

  19

  20

  22

  12

  23

  24

  25

  26

  27

  28

  29

  30

  13

  11

  18

  27 scanf("%f",&nilai[x]); } printf("\n"); for(x=0;x<y;x++) { printf("Nilai ke-%i : %.2f\n",x+1,nilai[x]); } printf("\n"); system("PAUSE"); return 0; }

  19

  20

  21

  22

  23

  24

  25

  26

  1

  10

  2

  3

  4

  5

  6

  7

  8

  9

  31 /* Program 8.5 Nama File : Lat-8.5.cpp Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <cstdlib> #include <iostream> #include <iomanip> using namespace std; int main(int argc, char *argv[]) { float nilai[10]; int x,y; cout<<"Mau berapa data [1..10]: ";cin>>y; for(x=0;x<y;x++) { cout<<"Nilai ke-"<<x+1<<" : ";cin>>nilai[x]; } cout<<endl; cout<<setiosflags(ios::fixed); for(x=0;x<y;x++) { cout<<"Nilai ke-"<<setprecision(2)<<x+1<<" : " <<nilai[x]<<endl; } cout<<endl; system("PAUSE"); return EXIT_SUCCESS; }

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. Hasil eksekusi:

  

Gam bar 8.5 Hasil eksekusi progr am Lat 8.5

Array Dimensi Dua

  Ber beda dengan array sat u dim ensi, array dua dim ensi m em punyai dua buah

subscript . Array ini biasanya digunakan unt uk m em bent uk m at rik s. Ar ray ini

m em punyai dim ensi pert am a sebagai dim ensi baris ser t a dim ensi kedua sebagai

dim ensi kolom . Bent uk um um pendeklarasian array dua dim ensi adalah sebagai

berikut :

t ipe _ da t a n a m a _ a r r a y[ e le m e n _ ba r is] [ e le m e n _ k olom ] ;

  Sebagai cont oh: 1. int m at riks[ 5] [ 4] ; 2. char nam a[ 3] [ 3] ; 3. float nilai[ 10] [ 10] ;

  

Unt uk lebih j elasnya buat lah program unt uk m enghit ung penj um lahan m at riks

dengan sint ak sebagai berikut :

  1 /*

  2 Program 8.6

  3 Nama File : Lat-8.6.c 4 Programmer : Adam Mukharil Bachtiar, S.Kom. 5 */

  6

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  40

  32

  33

  34

  35

  36

  37

  38

  39

  41

  30

  42

  43

  44

  45

  46

  47

  48

  49

  50

  31

  29

  7

  17

  8

  9

  10

  11

  12

  13

  14

  15

  16

  18

  28

  19

  20

  21

  22

  23

  24

  25

  26

  27

  51 #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int a[2][2];//matriks 2 baris 2 kolom int b[2][2]; int c[2][2]; int i,j; //input for(i=0;i<2;i++) { for(j=0;j<2;j++) { printf("a[%i][%i] : ",i+1,j+1); scanf("%i",&a[i][j]); } printf("\n"); } printf("\n"); for(i=0;i<2;i++) { for(j=0;j<2;j++) { printf("b[%i][%i] : ",i+1,j+1); scanf("%i",&b[i][j]); } printf("\n"); } printf("\n"); //proses for(i=0;i<2;i++) { for(j=0;j<2;j++) { c[i][j]=a[i][j]+b[i][j]; } } //output for(i=0;i<2;i++) { for(j=0;j<2;j++) { printf("c[%i][%i] : %i\n",i+1,j+1,c[i][j]); } printf("\n"); }

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  29

  21

  22

  23

  24

  25

  26

  27

  28

  30

  19

  31

  32

  33

  34

  35

  36

  37

  38

  39

  20

  18

  52

  6

  53

  54

  55 printf("\n"); system("PAUSE"); return 0; }

  1

  2

  3

  4

  5

  7

  17

  8

  9

  10

  11

  12

  13

  14

  15

  16

  40 /* Program 8.6 Nama File : Lat-8.6.cpp Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int a[2][2];//matriks 2 baris 2 kolom int b[2][2]; int c[2][2]; int i,j; //input for(i=0;i<2;i++) { for(j=0;j<2;j++) { cout<<"a["<<i+1<<"]["<<j+1<<"] : "; cin>>a[i][j]; } cout<<endl; } cout<<endl; for(i=0;i<2;i++) { for(j=0;j<2;j++) { cout<<"b["<<i+1<<"]["<<j+1<<"] : "; cin>>b[i][j]; } cout<<endl; } cout<<endl; //proses for(i=0;i<2;i++) { for(j=0;j<2;j++)

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  41 { 42 c[i][j]=a[i][j]+b[i][j]; 43 } 44 } 45 //output 46 for(i=0;i<2;i++) 47 { 48 for(j=0;j<2;j++) 49 { 50 cout<<"c["<<i+1<<"]["<<j+1<<"] : " <<c[i][j]<<endl; 51 } 52 cout<<endl; 53 } 54 cout<<endl; 55 system("PAUSE"); 56 return EXIT_SUCCESS; 57 }

  Hasil eksekusi:

Gam bar 8.6 Hasil eksekusi program Lat 8.6

Kalau diperhat ikan program di at as sudah m em enuhi kebut uhan unt uk m enghit ung

penj um lahan pada dua buah m at riks. Akan t et api, dilihat dari bent uk out put nya,

program di at as t idak m em iliki out put yang m enyerupai sebuah m at riks. Agar

t am pilan input dan out put nya m enyerupai sebuah m at rik s, buat lah program dengan

sint aks sepert i di baw ah ini:

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  36

  27

  28

  29

  30

  31

  32

  33

  34

  35

  37

  25

  38

  39

  40

  41

  42

  43

  44

  45

  46

  26

  24

  1

  11

  2

  3

  4

  5

  6

  7

  8

  9

  10

  12

  23

  13

  14

  15

  16

  17

  18

  19

  20

  21

  22

  47 /* Program 8.7 Nama File : Lat-8.7.c Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <stdio.h> #include <stdlib.h> #include <conio2.h> int main(int argc, char *argv[]) { int a[3][3];//matriks 3 baris 3 kolom int b[3][3]; int c[3][3]; int i,j; //input printf("Matriks pertama\n"); printf("---------------"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { gotoxy(j*5+1,i+3); scanf("%i",&a[i][j]); } } printf("\n"); printf("Matriks kedua\n"); printf("-------------"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { gotoxy(j*5+1,i+9); scanf("%i",&b[i][j]); } } //proses for(i=0;i<3;i++) { for(j=0;j<3;j++) { c[i][j]=a[i][j]+b[i][j]; } } //output

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  20

  11

  12

  13

  14

  15

  16

  17

  18

  19

  21

  9

  22

  23

  24

  25

  26

  27

  28

  29

  30

  10

  8

  48

  58

  49

  50

  51

  52

  53

  54

  55

  56

  57

  59

  7

  60

  61

  62 system("cls"); printf("Matriks Hasil\n"); printf("-------------"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { gotoxy(j*5+1,i+3); printf("%i",c[i][j]); } } printf("\n\n"); system("PAUSE"); return 0; }

  1

  2

  3

  4

  5

  6

  31 /* Program 8.7 Nama File : Lat-8.7.cpp Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <cstdlib> #include <iostream> #include <conio2.h> using namespace std; int main(int argc, char *argv[]) { int a[3][3];//matriks 3 baris 3 kolom int b[3][3]; int c[3][3]; int i,j; //input cout<<"Matriks pertama"<<endl; cout<<"---------------"; for(i=0;i<3;i++) { for(j=0;j<3;j++) { gotoxy(j*5+1,i+3); cin>>a[i][j]; } } cout<<endl; cout<<"Matriks kedua"<<endl;

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  49

  63

  62

  61

  60

  59

  58

  57

  56

  55

  54

  53

  52

  51

  50

  48

  32

  39

  33

  34

  35

  36

  37

  38

  40

  47

  41

  42

  43

  44

  45

  46

  64 cout<<"-------------"; for(i=0;i<3;i++) { for(j=0;j<3;j++) { gotoxy(j*5+1,i+9); cin>>b[i][j]; } } //proses for(i=0;i<3;i++) { for(j=0;j<3;j++) { c[i][j]=a[i][j]+b[i][j]; } } //output system("cls"); cout<<"Matriks Hasil"<<endl; cout<<"-------------"; for(i=0;i<3;i++) { for(j=0;j<3;j++) { gotoxy(j*5+1,i+3); cout<<c[i][j]; } } cout<<endl<<endl; system("PAUSE"); return EXIT_SUCCESS; }

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom. Hasil eksekusi:

  

Gam bar 8.7 Hasil eksekusi program Lat 8.7

Tidak hanya digunakan unt uk m enghit ung m at rik s, array dua dim ensi bisa j uga

digunakan unt uk m em proses beberapa buah st ring. Bent uk um um pendeklarasian

array nya adalah sebagai berikut :

cha r n a m a _ a r r a y[ j u m la h _ st r in g_ t a m pu n g] [ j u m la h _ ch a r ] ;

  

Cara m engisi dan m em anggil elem ennya hanya cukup m enggunakan subscript

pert am a saj a. Unt uk lebih j elasnya buat program berikut ini:

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  9

  26 /* Program 8.8 Nama File : Lat-8.8.c Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { char hari[7][10]; int i; for(i=0;i<7;i++) { printf("Hari ke-%i : ",i+1);gets(hari[i]); } printf("\n"); for(i=0;i<7;i++) { printf("Hari ke-%i : %s\n",i+1,hari[i]); } printf("\n\n"); system("PAUSE"); return 0; }

  1

  2

  3

  4

  5

  6

  7

  8

  10

  24

  11

  12

  13

  14

  15

  16

  17

  18

  19

  25

  23

  1

  11

  2

  3

  4

  5

  6

  7

  8

  9

  10

  12

  22

  13

  14

  15

  16

  17

  18

  19

  20

  21

  20 /* Program 8.8 Nama File : Lat-8.8.cpp Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { char hari[7][10]; int i; for(i=0;i<7;i++) { cout<<"Hari ke-"<<i+1<<" : ";cin>>hari[i]; } cout<<endl;

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  21 for(i=0;i<7;i++) 22 { 23 cout<<"Hari ke-"<<i+1<<" : "<<hari[i]<<endl; 24 } 25 cout<<endl<<endl; 26 system("PAUSE"); 27 return EXIT_SUCCESS; 28 }

  Hasil eksekusi:

Gam bar 8.8 Hasil eksekusi program Lat 8.8

Cat at an Ket ika m em buat array dua dim ensi bert ipe st ring char sebenarnya com piler akan m em buat sebuah ar ray dim ensi sat u yang t iap- t iap elem ennya m enam pung sebuah dat a st ring ( kum pulan karakt er) . Jadi ket ika m engisi dan m em anggil elem ennya hany a cukup m enyebut kan subscript pert am a saj a.

Array Dimensi Tiga

  Array dim ensi t iga m em puny ai t iga subscript . Array t iga dim ensi ini j arang digunak an, akan t et api bisa digunakan unt uk m em buat array du a dim ensi y ang t iap-

t iap dim ensinya m enam pung dat a st ring. Bent uk um um pendeklarasiannya adalah sebagai berikut : DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

t ipe _ da t a n a m a _ a r r a y[ su b1 ] [ sub2 ] [ su b3 ] ;

a t a u

ch a r n a m a _ a r r a y[ e le m e n _ ba r is] [ e le m e n _ k olom ] [ j u m la h _ ch a r ] ;

  Unt uk lebih j elasny a buat lah program seper t i di bawah ini:

  17

  31

  30

  29

  28

  27

  26

  25

  24

  23

  22

  21

  20

  19

  18

  16

  1

  15

  14

  13

  12

  11

  10

  9

  8

  7

  6

  5

  4

  3

  2

  32 /* Program 8.9 Nama File : Lat-8.9.c Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { char nama[2][2][10]; int i,j; for(i=0;i<2;i++) { for(j=0;j<2;j++) { printf("Nama[%i][%i] : ",i+1,j+1); gets(nama[i][j]); } printf("\n"); } for(i=0;i<2;i++) { for(j=0;j<2;j++) { printf("Nama[%i][%i] : %s\n",i+1,j+1, nama[i][j]); } } printf("\n"); system("PAUSE"); return 0; }

  DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

  26

  20

  21

  22

  23

  24

  25

  27

  18

  28

  29

  30

  31

  32

  33

  19

  17

  1

  8

  2

  3

  4

  5

  6

  7

  9

  16

  10

  11

  12

  13

  14

  15