• Tidak ada hasil yang ditemukan

Mengisi dan Menampilkan Elemen Array

N/A
N/A
Protected

Academic year: 2019

Membagikan "Mengisi dan Menampilkan Elemen Array"

Copied!
27
0
0

Teks penuh

(1)

Pe

unj ukkan o

i angk a no

apun bent uk

a bisa m e

api apabila

adi? Apabi

any ak 1000

n sangat b

kan sepert i

,x2,x3,x

boros sint ak

array unt uk

KTAT MATA

ARR

Array

m pulan dari

akan nam a

ng ingin dit

000 buah

iabel dan 1

k s dan w ak

k m enyeles

A KULIAH P

m elalui key

n program d

saiak an per

PEMROGRA

array digun

buah array

j u m la h _ e l

inst ruksi in

m em buat p

nakanlah t a

adalah seb

le m e n ] ;

eberapa da

kasus un

k a sebelum

ni:

program in

n ini.

IF

am a dalam

dari elem e

eks array d

anda [ ] ( br

m enuhi keb

an, apa yan

m ak a dibu

ut put . Tent u

(2)

Mengisi dan Menampilkan Elemen Array

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 :

/ / 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] ;

Sebagai cont oh buat program dengan sint ak s di baw ah 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 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");

(3)

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

/*

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

Hasil eksekusi:

(4)

2. Mengisi dan m enam pilkan array dengan m enggunakan pengulangan

Cara kedua ini sangat efekt if apabila dat a array yang diolah sangat banyak.

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 :

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 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 3 4 5 6 7 8 9 10 11 12

/*

Program 8.2

Nama File : Lat-8.2.cpp

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <cstdlib> #include <iostream>

using namespace std;

(5)

13 14 15 16 17 18 19 20 21 22 23 24 25 26 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; }

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

(6)

Menginisialisasi Array

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

Unt uk lebih j elasny a buat pr ogram berikut 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 26 27 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;

(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 28 29 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; }

Hasil eksekusi:

(8)

Array Dari Karakter

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

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 ’} ;

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

Sebagai cont oh 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 22 23 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");

(9)

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

/*

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

Hasil eksekusi:

(10)

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 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

/*

Program 8.5

Nama File : Lat-8.5.c

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) {

float nilai[10]; int x,y;

printf("Mau berapa data [1..10]: ");scanf("%i",&y); for(x=0;x<y;x++)

{

(11)

18

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

{

(12)

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 3 4 5 6

/*

Program 8.6

Nama File : Lat-8.6.c

(13)

7

#include <stdio.h> #include <stdlib.h>

(14)

52

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <cstdlib> #include <iostream>

using namespace std;

(15)

41 42 43 44 45 46 47 48 49 50

51 52 53 54 55 56 57

{

c[i][j]=a[i][j]+b[i][j]; }

}

//output

for(i=0;i<2;i++) {

for(j=0;j<2;j++) {

cout<<"c["<<i+1<<"]["<<j+1<<"] : " <<c[i][j]<<endl;

}

cout<<endl; }

cout<<endl;

system("PAUSE"); return EXIT_SUCCESS; }

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

(16)

1

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <stdio.h> #include <stdlib.h> #include <conio2.h>

int main(int argc, char *argv[]) {

printf("Matriks pertama\n"); printf("---");

(17)

48

system("cls");

printf("Matriks Hasil\n"); printf("---");

printf("\n\n"); system("PAUSE");

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <cstdlib> #include <iostream> #include <conio2.h>

using namespace std;

int main(int argc, char *argv[]) {

cout<<"Matriks pertama"<<endl; cout<<"---";

(18)

32 33 34 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 62 63 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]; }

}

(19)

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

(20)

1

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <stdio.h> #include <stdlib.h>

int main(int argc, char *argv[]) {

printf("\n\n"); system("PAUSE");

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]; }

(21)

21 22 23 24 25 26 27 28

for(i=0;i<7;i++) {

cout<<"Hari ke-"<<i+1<<" : "<<hari[i]<<endl; }

cout<<endl<<endl; system("PAUSE"); return EXIT_SUCCESS; }

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 daiap-t a siap-t ring. Beniap-t uk um um pendeklarasiannya adalah

(22)

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:

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

28 29 30 31 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;

(23)

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 28

29 30 31 32 33 34

/*

Program 8.9

Nama File : Lat-8.9.cpp

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <cstdlib> #include <iostream>

using namespace std;

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++) {

cout<<"Nama["<<i+1<<"]["<<j+1<<"] : "; cin>>nama[i][j];

}

cout<<endl; }

for(i=0;i<2;i++) {

for(j=0;j<2;j++) {

cout<<"Nama["<<i+1<<"]["<<j+1<<"] : " <<nama[i][j]<<endl;

} }

(24)

Hasil eksekusi:

Gam bar 8.9 Hasil eksekusi program Lat 8.9

Array Sebagai Parameter Fungsi

Array bisa j uga digunakan sebagai par am et er suat u fungsi. Ada sedik it

perbedaan ket ik a array k it a j adikan param et er yait u subscript ny a t idak t erisi ( [ ] )

supaya bisa diubah m elalui fungsi yang lain. Unt uk lebih j elasnya buat lah pr ogram

berikut ini:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

/*

Program 8.10

Nama File : Lat-8.10.c

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <stdio.h> #include <stdlib.h>

void input_array(int bil[],int banyak_data) {

int i;

for(i=0;i<banyak_data;i++) {

printf("Nilai bil[%i] : ",i+1);scanf("%i",&bil[i]); }

(25)

19

int jumlah_elemen(int bil[],int banyak_data) {

int i,jumlah=0;

for(i=0;i<banyak_data;i++) {

int main(int argc, char *argv[]) {

int bil[100];//maksimal elemen int banyak_data;

int jumlah;

printf("Masukkan banyak elemen yang diinginkan : "); scanf("%i",&banyak_data);

printf("\n");

//memanggil void input_array input_array(bil,banyak_data);

//memanggil fungsi jumlah_elemen

jumlah=jumlah_elemen(bil,banyak_data);

printf("\n");

printf("Hasil penjumlahan elemen = %i\n\n",jumlah); system("PAUSE");

Programmer : Adam Mukharil Bachtiar, S.Kom. */

#include <cstdlib> #include <iostream>

using namespace std;

void input_array(int bil[],int banyak_data) {

int i;

(26)

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

37 38 39 40 41 42 43 44 45 46

47 48 49

cout<<"Nilai bil["<<i+1<<"] : ";cin>>bil[i]; }

}

int jumlah_elemen(int bil[],int banyak_data) {

int i,jumlah=0;

for(i=0;i<banyak_data;i++) {

jumlah=jumlah+bil[i]; }

return jumlah; }

int main(int argc, char *argv[]) {

int bil[100];//maksimal elemen int banyak_data;

int jumlah;

cout<<"Masukkan banyak elemen yang diinginkan : "; cin>>banyak_data;

cout<<endl;

//memanggil void input_array input_array(bil,banyak_data);

//memanggil fungsi jumlah_elemen

jumlah=jumlah_elemen(bil,banyak_data);

cout<<endl;

cout<<"Hasil penjumlahan elemen = "<<jumlah <<endl<<endl;

(27)

Hasil eksekusi:

Gam bar 8.10 Hasil eksekusi program Lat 8.10

Cat at an Ket ika m em anggil fungsi at au void yang m em punyai param et er

berupa array m aka pengisian param et erny a cuk up berupa nam a

Gambar

Gambar 8.1 Hasil eksekusi program Lat 8.1
Gambar 8.2 Hasil eksekusi program Lat 8.2
Gambar 8.3 Hasil eksekusi program Lat 8.3
Gambar 8.4 Hasil eksekusi program Lat 8.4
+7

Referensi

Dokumen terkait

It means that the textbook has provided the materials of the listening, speaking, reading and writing skills as suggested by School Level-Based

Sistem penjaminan mutu dengan mekanisme kerja yang efektif, serta diterapkan dengan jelas pada tingkat program

[r]

Permasalahan yang akan diteliti: Berdasarkan latar belakang masalah di atas, rumusan masalah yang diambil dalam penelitian ini adalah sebagai berikut: Bagaimana layanan

Selain itu, jaringan sosial pekerja migran tanpa dokumen yang berasal dari Indonesia juga telah membentuk kelas sosial antara pekerja dengan agihan kerja yang

Metode yang digunakan adalah peramalan time series dengan model Box-Jenkins dan didalam penelitian ini tidak ada asumsi khusus tentang data historis runtun

Dalam pelaksanaan dialog kebijakan penataan dan pemberdayaan pedagang kaki lima ke sentra ikan bulak PKL Sentra Ikan Bulak, camat sebagai pembicara dalam dialog dengan

Ketahanan Pangan dan Penyuluhan Aceh melalui Kelompok Kerja (Pokja) Kabupaten. sebagaimana tersebut diatas, mulai tanggal 8 s/d 14 Agustus