pe ndahuluan array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ......

27
DISU DIK Pe tert ditu dari Ada Kita kem lima prog 1 2 3 4 5 6 7 8 9 10 11 Den teta terj seb aka digu USUN OLEH KTAT PEMR endahu Array a tentu yang unjukkan o i angka no apun bentuk a bisa me mudian me a angka ya gramnya a int x1, scanf(scanf(scanf(scanf(scanf(printf( printf( printf( printf( printf( ngan cara api apabila adi? Apabi anyak 1000 n sangat b unakanlah a H : ADAM MU OGRAMAN DIuluan adalah kum mengguna leh suatu ol (0). Untu k umum da tipe_ nggunakan nampilkann ang sudah kan seperti ,x2,x3,x %i”,&x1 %i”,&x2 %i”,&x3 %i”,&x4 %i”,&x5 (“%i”,x1 (“%i”,x2 (“%i”,x3 (“%i”,x4 (“%i”,x5 di atas se angka yan ila ada 10 0 buah var boros sintak array untuk UKHARIL BA I KTAT MATARR Array mpulan dari akan nama indeks. Un uk mendek ari pendekla _data nam n array un nnya kemb diinput m i penggalan x4,x5; 1); 2); 3); 4); 5); 1); 2); 3); 4); 5); ebenarnya ng ingin dit 000 buah iabel dan 1 ks dan wak k menyeles ACHTIAR, S. A KULIAH BAB V RAY (L nilai data- yang sam ntuk pemro klarasikan a arasian seb ma_array[ntuk mena bali. Sebag melalui key n program d i c c c c c c c c c c program ampung ad angka yan 1000 buah ktu untuk saiakan per .Kom. PEMROGRA VIII ARIK) -data yang ma. Letak a ograman C array digun buah array jumlah_el ampung be gai contoh board mak di bawah in int x1,x cin>>x1; cin>>x2; cin>>x3; cin>>x4; cin>>x5; cout<<x1 cout<<x2 cout<<x3 cout<<x4 cout<<x5 tersebut s da 1000 bu ng ingin d instruksi in membuat p rmasalahan AMAN I g bertipe sa tau posisi C/C++ inde nakanlah ta adalah seb lemen]; eberapa da kasus un ka sebelum ni: x2,x3,x4, ; ; ; ; ; 1; 2; 3; 4; 5; sudah mem uah bilanga itampung nput dan ou program in n ini. IF ama dalam dari eleme eks array d anda [] (br bagai beriku ata bertipe ntuk menam m mengena ,x5; menuhi keb an, apa yan maka dibu utput. Tentu ni. Oleh kar HAL 1 F urutan en array dihitung racket). ut: e sama mpilkan al array butuhan ng akan utuhkan unya ini rena itu

Upload: vudiep

Post on 05-Jun-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISU

DIK

Pe

tert

ditu

dari

Ada

Kita

kem

lima

prog

1 2 3 4 5 6 7 8 9 10 11

Den

teta

terj

seb

aka

digu

USUN OLEH

KTAT PEMR

endahu

Array a

tentu yang

unjukkan o

i angka no

apun bentuk

a bisa me

mudian me

a angka ya

gramnya a

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

ngan cara

api apabila

adi? Apabi

anyak 1000

n sangat b

unakanlah a

H : ADAM MU

ROGRAMAN

DIK

uluan

adalah kum

mengguna

leh suatu

ol (0). Untu

k umum da

tipe_

nggunakan

nampilkann

ang sudah

kan seperti

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

di atas se

angka yan

ila ada 10

0 buah var

boros sintak

array untuk

UKHARIL BA

I

KTAT MATA

ARR

Array

mpulan dari

akan nama

indeks. Un

uk mendek

ari pendekla

_data nam

n array un

nnya kemb

diinput m

i penggalan

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

ebenarnya

ng ingin dit

000 buah

iabel dan 1

ks dan wak

k menyeles

ACHTIAR, S.

A KULIAH P

BAB VRAY (L

nilai data-

yang sam

ntuk pemro

klarasikan a

arasian seb

ma_array[j

ntuk mena

bali. Sebag

melalui key

n program d

icccccccccc

program

ampung ad

angka yan

1000 buah

ktu untuk

saiakan per

.Kom.

PEMROGRA

VIII ARIK)

-data yang

ma. Letak a

ograman C

array digun

buah array

jumlah_el

ampung be

gai contoh

board mak

di bawah in

int x1,xcin>>x1;cin>>x2;cin>>x3;cin>>x4;cin>>x5;cout<<x1cout<<x2cout<<x3cout<<x4cout<<x5

tersebut s

da 1000 bu

ng ingin d

instruksi in

membuat p

rmasalahan

AMAN I

g bertipe sa

tau posisi

C/C++ inde

nakanlah ta

adalah seb

lemen];

eberapa da

kasus un

ka sebelum

ni:

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

sudah mem

uah bilanga

itampung

nput dan ou

program in

n ini.

IF

ama dalam

dari eleme

eks array d

anda [] (br

bagai beriku

ata bertipe

ntuk menam

m mengena

,x5;

menuhi keb

an, apa yan

maka dibu

utput. Tentu

ni. Oleh kar

HAL 1

F

urutan

en array

dihitung

racket).

ut:

e sama

mpilkan

al array

butuhan

ng akan

utuhkan

unya ini

rena itu

Page 2: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 2

Mengisi dan Menampilkan Elemen Array

Ada dua buah cara untuk mengisi dan menampilkan elemen array yaitu:

1. Mengisi dan menampilkan array secara langsung

Cara yang pertama ini efektif untuk menyelesaikan permasalahan yang tidak

mengandung banyak variabel yang dibutuhkan. Caranya adalah sebagai

berikut:

// mengisi array

nama_array[indeks] = nilai_elemen;

// menampilkan array

printf(“%format”,nama_array[indeks]);

atau

cout<<nama_array[indeks];

Sebagai contoh buat program dengan sintaks 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

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

Page 3: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 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:

Gambar 8.1 Hasil eksekusi program Lat 8.1

Page 4: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 4

2. Mengisi dan menampilkan array dengan menggunakan pengulangan

Cara kedua ini sangat efektif apabila data array yang diolah sangat banyak.

Apabila menggunakan cara pertama tentunya akan sangat menyulitkan dalam

pembuatan programnya karena membutuhkan banyak baris perintah. Adapun

cara mengisi dan menampilkan elemen array menggunakan 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; int main(int argc, char *argv[])

Page 5: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 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:

Gambar 8.2 Hasil eksekusi program Lat 8.2

Catatan

Hal yang harus diperhatikan dalam mempergunakan array di C/C++

adalah indeks arraynya dihitung mulai dari nol. Apabila memesan

elemennya sebanyak 10 maka elemen terakhir memiliki indeks

sembilan.

Page 6: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 6

Menginisialisasi Array

Untuk mengisi elemen array tidak harus melalui input nilai tetapi juga bisa

dilakukan pada saat mendeklarasikannya (inisialisasi). Hal ini dimaksudkan untuk

mengisikan nilai default terhadap array tersebut sehingga apabila ada elemen yang

tidak diisi maka nilai yang akan digunakan adalah nilai defaultnya. Bentuk umum

inisialisasi dari array adalah sebagai berikut:

tipe_data nama_array[n]={nilai_1,nilai_2,nilai_3,...,nilai_n};

Untuk lebih jelasnya buat 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 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; }

Page 7: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 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:

Gambar 8.3 Hasil eksekusi program Lat 8.3

Page 8: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 8

Array Dari Karakter

Dalam pemrograman C/C++ kumpulan karakter disebut dengan string. Oleh

karena itu untuk mendeklarasikan string digunakan array bertipe char. Untuk

mendeklarasikan array bertipe char adalah sebagai berikut:

char nama_array[jumlah_elemen];

Apabila ingin menginisialisasi maka bentuk umunya adalah sebagai berikut:

char nama_array[n]={‘nilai_1’,..,’nilai_n-1’,’\0’};

Namun bentuk inisialisasi di atas sulit untuk dituliskan dan riskan terhadap

terjadinya kesalahan. Oleh sebab itu maka digunakan bentuk umum inisialisasi yang

lain yaitu:

char nama_array[n]=”nilai_1-nilai_n-1”;

Sebagai contoh buatlah 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"); return 0; }

Page 9: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 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:

Gambar 8.4 Hasil eksekusi program Lat 8.4

Page 10: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 10

Array Berdasarkan Dimensi

Setiap menginisialisasi array dibutuhkan subscript atau indeks array.

Berdasarkan jumlah subscript array terbagi menjadi tiga (yang sering digunakan)

yaitu:

1. Array berdimensi satu

2. Array berdimensi dua

3. Array berdimensi tiga.

Dimensi tersebut menggambarkan jumlah subscript suatu array.

Array Dimensi Satu

Array satu dimensi merupakan tipe array yang sering digunakan. Sesuai

dengan namanya array ini memiliki satu subscript. Bentuk umum dari array satu

dimensi adalah sebagai berikut:

tipe_data nama_array[jumlah_elemen];

Sebagai contoh:

1. int bilangan[10];

2. char nama[31];

3. float nilai[100];

Untuk lebih jelasnya buatlah 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++) { printf("Nilai ke-%i : ",x+1);

Page 11: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 11

18 19 20 21 22 23 24 25 26 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; }

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

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

Page 12: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 12

Hasil eksekusi:

Gambar 8.5 Hasil eksekusi program Lat 8.5

Array Dimensi Dua

Berbeda dengan array satu dimensi, array dua dimensi mempunyai dua buah

subscript. Array ini biasanya digunakan untuk membentuk matriks. Array ini

mempunyai dimensi pertama sebagai dimensi baris serta dimensi kedua sebagai

dimensi kolom. Bentuk umum pendeklarasian array dua dimensi adalah sebagai

berikut:

tipe_data nama_array[elemen_baris][elemen_kolom];

Sebagai contoh:

1. int matriks[5][4];

2. char nama[3][3];

3. float nilai[10][10];

Untuk lebih jelasnya buatlah program untuk menghitung penjumlahan matriks

dengan sintak sebagai berikut:

1 2 3 4 5 6

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

Page 13: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 13

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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 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"); }

Page 14: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 14

52 53 54 55

printf("\n"); 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 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 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++)

Page 15: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 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:

Gambar 8.6 Hasil eksekusi program Lat 8.6

Kalau diperhatikan program di atas sudah memenuhi kebutuhan untuk menghitung

penjumlahan pada dua buah matriks. Akan tetapi, dilihat dari bentuk outputnya,

program di atas tidak memiliki output yang menyerupai sebuah matriks. Agar

tampilan input dan outputnya menyerupai sebuah matriks, buatlah program dengan

sintaks seperti di bawah ini:

Page 16: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 16

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 35 36 37 38 39 40 41 42 43 44 45 46 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

Page 17: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 17

48 49 50 51 52 53 54 55 56 57 58 59 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 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

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

Page 18: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 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]; } } cout<<endl<<endl; system("PAUSE"); return EXIT_SUCCESS; }

Page 19: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 19

Hasil eksekusi:

Gambar 8.7 Hasil eksekusi program Lat 8.7

Tidak hanya digunakan untuk menghitung matriks, array dua dimensi bisa juga

digunakan untuk memproses beberapa buah string. Bentuk umum pendeklarasian

arraynya adalah sebagai berikut:

char nama_array[jumlah_string_tampung][jumlah_char];

Cara mengisi dan memanggil elemennya hanya cukup menggunakan subscript

pertama saja. Untuk lebih jelasnya buat program berikut ini:

Page 20: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 20

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.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 9 10 11 12 13 14 15 16 17 18 19 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;

Page 21: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 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:

Gambar 8.8 Hasil eksekusi program Lat 8.8

Catatan

Ketika membuat array dua dimensi bertipe string char sebenarnya

compiler akan membuat sebuah array dimensi satu yang tiap-tiap

elemennya menampung sebuah data string (kumpulan karakter).

Jadi ketika mengisi dan memanggil elemennya hanya cukup

menyebutkan subscript pertama saja.

Array Dimensi Tiga

Array dimensi tiga mempunyai tiga subscript. Array tiga dimensi ini jarang

digunakan, akan tetapi bisa digunakan untuk membuat array dua dimensi yang tiap-

tiap dimensinya menampung data string. Bentuk umum pendeklarasiannya adalah

sebagai berikut:

Page 22: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 22

tipe_data nama_array[sub1][sub2][sub3];

atau

char nama_array[elemen_baris][elemen_kolom][jumlah_char];

Untuk lebih jelasnya buatlah program seperti 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; }

Page 23: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 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; } } cout<<endl; system("PAUSE"); return EXIT_SUCCESS; }

Page 24: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 24

Hasil eksekusi:

Gambar 8.9 Hasil eksekusi program Lat 8.9

Array Sebagai Parameter Fungsi

Array bisa juga digunakan sebagai parameter suatu fungsi. Ada sedikit

perbedaan ketika array kita jadikan parameter yaitu subscriptnya tidak terisi ([])

supaya bisa diubah melalui fungsi yang lain. Untuk lebih jelasnya buatlah program

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

Page 25: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 25

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

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; 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"); return 0; }

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

/* Program 8.10 Nama File : Lat-8.10.cpp Programmer : Adam Mukharil Bachtiar, S.Kom. */ #include <cstdlib> #include <iostream> using namespace std; void input_array(int bil[],int banyak_data) { int i; for(i=0;i<banyak_data;i++) {

Page 26: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 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; system("PAUSE"); return EXIT_SUCCESS; }

Page 27: Pe ndahuluan Array - adfbipotter.files.wordpress.com · uah array umlah_el mpung be ai contoh ... Hal yang harus diperhatikan dalam mempergunakan array di C/C++ ... 3. Array berdimensi

DISUSUN OLEH : ADAM MUKHARIL BACHTIAR, S.Kom.

DIKTAT PEMROGRAMAN I HAL 27

Hasil eksekusi:

Gambar 8.10 Hasil eksekusi program Lat 8.10

Catatan

Ketika memanggil fungsi atau void yang mempunyai parameter

berupa array maka pengisian parameternya cukup berupa nama

arraynya saja (di parameter aktual).