Bab 8 Array
Bab 8 Array
NIM : D0219525
Inforamatika E
Bab 8 array
Array adalah kumpulan dari nilai data-data yang bertipe sama dalam urutan tertentu yang
menggunakan nama yang sama. Letak atau posisi dari elemen array ditujukan oleh suatu indeks.
Untuk pemrograman C/C++ indeks array dihitung dari nol (0). Untuk mendeklerasikan array
digunakanlah tanda [] (bracket).
kita bisa menggunakan array untuk menampung beberapa data bertipe sama kemudian
menampilkannya kembali. Sebagai contoh kasus untuk menampilkan 5 angkat yang sudah di input
melalui keyboard
Dengan cara di atas sebenarnya program tersebut sudah memenuhi kebutuhan tetapi apabila angka
yang di inginkan ditampung ada 1000 buah bilangan, apa yang terjadi? Apabila ada 1000 buah angka
yang ingin ditampung maka dibutuhkan sebanyak 1000 variabel dan 1000 buah instruksi input dan
outpun.
1 //Program 8.1
2 //Nama File : contohnyaarray.c
3 //Program contoh array C
4
5 #include <studio.h>
6 #include <stdlib.h>
7
8 Int main (int argc, char*argv[])
9 {
10 Int x[5]; //deklarasi array
11 Printf(“Masukkan Nilai 1 : “);
12 Scanf(“%i”, &x[0]);
13 Printf(“Masukkan Nilai 2 : “);
14 Scanf(“%i”, &x[1]);
15 Printf(“Masukkan Nilai 3 : “);
16 Scanf(“%i”, &x[2]);
17 Printf(“Masukkan Nilai 4 : “);
18 Scanf(“%i”, &x[3]);
19 Printf(“Masukkan Nilai 5 : “);
20 Scanf(“%i”, &x[4]);
21 Printf(“\n”);
22
23 Printf(“Nilai ke-1 = %i\n”,x[0]);
24 Printf(“Nilai ke-2 = %i\n”,x[1]);
25 Printf(“Nilai ke-3 = %i\n”,x[2]);
26 Printf(“Nilai ke-4 = %i\n”,x[3]);
27 Printf(“Nilai ke-5 = %i\n\n”,x[4]);
28
29 Return 0;
30 }
1 //Program 8.1
2 //Nama File: Contoharray.cpp
3 //Program contoh array C++
4
5 #include <cstdlib>
6 #include <iostream>
7
8 Using namespace std;
9
10 In main(int argc, char *argv[])
11 {
12 Int x[5];
13 Cout<<”masukkan Nilai 1 : “;
14 Cin>>x[0];
15 Cout<<”masukkan Nilai 2 : “;
16 Cin>>x[1];
17 Cout<<”masukkan Nilai 3 : “;
18 Cin>>x[2];
19 Cout<<”masukkan Nilai 4 : “;
20 Cin>>x[3];
21 Cout<<”masukkan Nilai 5 : “;
22 Cin>>x[4];
23 Cout>>endl;
24
25 Cout<<”Nilai ke-1= “<<x[0]<<endl;
26 Cout<<”Nilai ke-2= “<<x[1]<<endl;
27 Cout<<”Nilai ke-3= “<<x[2]<<endl;
28 Cout<<”Nilai ke-4= “<<x[3]<<endl;
29 Cout<<”Nilai ke-5= “<<x[4]<<endl<<endl;
30
31 Return EXIT_SUCCESS;
32 }
Hasil Eksekusi
Masukkan Nilai 1 : 10
Masukkan Nilai 2 : 20
Masukkan Nilai 3 : 30
Masukkan Nilai 4 : 40
Masukkan Nilai 5 : 50
Nilai Ke-1= 10
Nilai Ke-2= 20
Nilai Ke-3= 30
Nilai Ke-4= 40
Nilai Ke-5= 50
1 //Program 8.2
2 //Nama File : arrayulang.c
3 //Program contoh array dengan pengulangan C
4
5 #include <stdio.h>
6 #include <stdlib.h>
7
8 Int main(int argc, char*argv[])
9 {
10 Int x[5],I;
11 For(i=0; i<=4; i++)
12 {
13 Printf(“Masukkan Nilai %i: “,i+1);
14 Scanf(“%i”,&x[i]);
15 }
16 Printf(“\n”)l
17
18 For(i=0; i<=4; i++)
19 {
20 Printf(“Nilai Ke-%i=%i\n”,i+1,x[i]);
21 }
22 Printf(“\n”);
23
24 Return 0;
25 }
1 //Program 8.2
2 //Nama File : arrayulang.cpp
3 //Program contoh array dengan pengulangan C++
4
5 #include <cstdlib>
6 #include <iostream>
7
8 Using namespace std;
9
10 Int main(int argc, char*argv[])
11 {
12 Int x[5],I;
13 For(i=0; i<=4; i++)
14 {
15 Cout<<”Masukkan Nilai”<<i+1
16 <<”: “,cin>>x[i];
17 }
18 Cout<<endl;
19 For(i=0; i<=4; i++)
20 {
21 Cout<<Nilai ke-“<<i+1
22 <<”= “<<x[i]<<endl;
23 }
24 Cout<<endl;
25
26 Return EXIT_SUCCES
27 }
Hasil Eksekusi
Masukkan Nilai 1: 1
Masukkan Nilai 1: 2
Masukkan Nilai 1: 3
Masukkan Nilai 1: 4
Masukkan Nilai 1: 5
Nilai ke-1 = 1
Nilai ke-2 = 2
Nilai ke-3 = 3
Nilai ke-4 = 4
Nilai ke-5 = 5
Menginisialisasi Array
Untuk mengisi elemen array tidak harus melalui input nilai tetapi bisa juga dilakukan pada
saat mendeklarasikannya
Tipe_data nama_array[n]={nilai_1,nilai_2,nilai_3, . . . .,nilai_n);
1 //Program 8.3
2 //Nama File : inisialisasiarray.c
3 //Program inisialisasi array C
4
5 #include <stdio.h>
6 #include <stdlib.h>
7
8 Int main(int argc, char*argv[])
9 {
10 Int x[5]={1,2,3,4,5};
11 Int I;
12
13 For(i=0; i<=4; i++)
14 {
15 Printf(“x[%i] default= %i\n”,i,x[i]);
16 }
17
18 X[2]=30;
19 X[3]=40;
20 Printf(“\n”);
21
22 For(i=0; i<=4; i++)
23 {
24 Printf(“x[%i]=%i\n”,i,x[i]);
25 }
26 Printf(“\n”);
27
28 Return 0;
29 }
1 //Program 8.3
2 //Nama File : Inisialisasiarray.cpp
3 //Program Inisialisasi array C++
4
5 #include <cstdlib>
6 #include <iostream>
7
8 Using namespace std;
9
10 Int main(int argc, char*argv[])
11 {
12 Int x[5]={1,2,3,4,5};
13 Int I;
14
15 For(i=0; i<=4; i++)
16 {
17 Cout<<”x[“<<i<<”] default=”
18 <<x[i]<<endl;
19 }
20
21 X[2]=30;
22 X[3]=40;
23 Cout<<endl;
24
25 For(i=0; i<=4; i++)
26 {
27 Cout<<”x[“<<i<<”]=”
28 <<x[i]<<endl;
29 }
30 Cout<<endl;
31
32 return EXIT_SUCCES;
33 }
Hasil Eksekusi:
X[0] default = 1
X[1] default = 2
X[2] default = 3
X[3] default = 4
X[4] default = 5
X[0] = 1
X[1] = 2
X[2] = 3
X[3] = 4
X[4] = 5
1 //Program 8.4
2 //Nama File: chararry.c
3 //Program Array of characters C
4
5 #include <stdio.h>
6 #include <stdlib.h>
7
8 Int main(int argc, char*argv[])
9 {
10 Int I;
11 Char nama[5]={‘A’,’d’,’@’,’m’,’\0’};
12 Char nama2[5]=”Ad@m”;
13 Prinf(“Array per karakter = “);
14
15 For(i=0; i<=4; i++)
16 {
17 Printf(“%c”,nama[i]);
18 }
19
20 Printf(“\n”);
21 Printf(“Array String= %s\n\n”, nama2);
22
23 Return 0;
24 }
1 //Program 8.4
2 //Nama File : chararry.cpp
3 //Program array of characters C++
4
5 #include <cstdlib>
6 #include <iostream>
7
8 Using namespace std;
9
10 Int main(int agrc, char*argv[])
11 {
12 Int I;
13 Char nama[5]={‘A’,’d’,’@’,’m’,’\0’};
14 Char nama2[5]=”Ad@m”;
15 Cout<<”Array per karakter = “;
16
17 For(i=0; i<=4; i++)
18 {
19 Cout<<nama[i];
20 {
21 Cout<<endl;
22
23 Cout<<”Array String=”
24 <<nama2<<endl<<endl;
25
26 Return EXIT_SUCCES
27 }
Hasil Eksekusi
1 //Program 8.5
2 //Nama File : arraysatudimensi.c
3 //Program array satu dimensi C
4
5 #include <stdio.h>
6 #include <stdlib.h>
7
8 Int main(int argc, char*argv[])
9 {
10 Float nilai[10];
11 Int x,y;
12
13 Printf(“mau berapa data [1..10]: “);
14 Scanf(“%i”,&y);
15
16 For(x=0; x<y; x++)
17 {
18 Printf(“nilai ke-%i :”,x+1);
19 Scanf(“%f”,&nilai[x]);
20 }
21 Printf(“\n”);
22
23 For(x=0; x<y; x++)
24 {
25 Printf(“nilai ke-%i : %.2f\n”, x+1,nilai[x]);
26 }
27 Printf(“\n”);
28
29 Return 0;
30 }
1 //Program 8.5
2 //Nama file: arraysatudimensi.cpp
3 //Program array satu dimensi C++
4
5 #include <cstdlib>
6 #include <iostream>
7 #include <iomanip>
8
9 Using namespace std;
10
11 Int main(int argc, char*argv[])
12 {
13 Float nilai[10];
14 Int x,y;
15 Cout<<”mau berapa data [1 … 10]: “;
16 Cin>>y;
17 For(x=0; x<y; x++)
18 {
19 Cout<<”nilai ke-“<<x+1<<” : “;
20 Cin>>nilai[x];
21 }
22 Cout<<endl;
23 Cout<<setiosflags(ios::fixed);
24
25 For(x=0; x<y; x++)
26 {
27 Cout<<”Nilai ke-“
28 <<setprecision(2)<<x+1<<”:”
29 <<nilai[x]<<endl;
30 }
31 Cout<<endl;
32
33 Return EXIT_SUCCES
34 }
Hasil Eksekusi
Nilai ke-1 : 1
Nilai ke-2 : 2
Nilai ke-3 : 3
Array 2 Dimensi
Array dua dimensi memiliki 2 subscript dan mempunyai dimensi pertama sebagai
baris dan dimensi ke dua sebagai kolom.
Tipe_data nama_array[elemen_baris][elemen_kolom];
Contoh Program C dan C++
1 //program 8.7
2 //Nama file : matriks.c
3 //program array dua dimensi
4 //dalam bentuk matriks c
5
6 #include <stdio.h>
7 #include <stdlib.h>
8 #iclude <conio2.h>
9
10 Int main(int argc, char*argv[])
11 {
12 //matriks 3 baris 3 kolom
13 Int a[3][3];
14 Int b[3][3];
15 Int c[3][3];
16 Int i,j;
17
18 //input
19 Printf(“matriks pertama\n”);
20 Printf(“-------------“;
21 For(i=0;i<3;i++)
22 {
23 For(j=0;j<3;j++)
24 {
25 Gotoxy(j*5+1,i+3);
26 Scanf(“%i”,&a[i][j]);
27 }
28 }
29 Printf(“\n”);
30
31 Printf(“Matriks kedua\n”);
32 Printf(“-------------“);
33 For(i=0;i<3;i++)
34 {
35 For(j=0;j<3;j++)
36 {
37 Gotoxy(j*5+1,i+9);
38 Scanf(“%i”,&b[i][j]);
39 }
40 }
41
42 //proses
43 For(i=0;i<3;i++)
44 {
45 For(j=0;j<3;j++)
46 {
47 C[i][j]=a[i][j]+b[i][j];
48 }
49 }
50
51 //output
52 System(“cls”);
53 Printf(“matriks hasil\n”);
54 Printf(“---------------“);
55 For(i=0;i<3;i++)
56 {
57 For(j=0;j<3;j++)
58 {
59 Gotoxy(j*5+1,i+3)’
60 Printf(“%i”,c[i][j];
61 }
62 }
63 Printf(“\n\n”);
64
65 return 0;
66 }
1 //Program 8.7
2 //Nama File:matriks.cpp
3 //program array dua dimensi
4 //dalam bentuk matriks C++
5
6 #include <cstdlib>
7 #include <iostream>
8 #incude <conio2.h>
9
10 using namespace std;
11
12 int main(int argc, char *argv[])
13 {
14 //matriks 3 baris 3 kolom
15 Int a[3][3];
16 Int b[3][3];
17 Int c[3][3];
18 Int I,j;
19
20 //input
21 Cout<”matriks pertama<<endl;
22 Cout<<”--------------------------“;
23 For(i=o;i<3;i++)
24 {
25 For(j=0;j<3;J==)
26 {
27 Gotoxy(j*5+1,i+3);
28 Cin>>a[i][j];
29 }
30 }
31 Cout<<endl;
32
33 Cout<<”matiks kedua”<<endl;
34 Cout<”------------------“;
35 For(i=0;i<3;i++)
36 {
37 For(j=0;j<3;j++)
38 {
39 Gotoxy(j*5+1,i+9);
40 Cin>>b[i][j];
41 }
42 }
43
44 //proses
45 For(i=0;i<3;i++)
46 {
47 For(j=0;j<3;j++)
48 {
49 C[i][j]=a[i][j]+b[i][j];
50 }
51 }
52
53 //output
54 System(“cls”);
55 Cout<<”matriks hasil”<<endl;
56 Cout<<”-----------------“;
57 For(i=0;i<3;i++)
58 {
59 For(j=0;j<3;j++)
60 {
61 Gotoxy(j*5+1,i+3)
62 Cout<<c[i][j];
63 }
64 }
65 Cout<<endl<<endl;
66
67 Return EXIT_SUCCES
68 }
Hasil eksekusi
Matriks pertama
----------------------
1 1 1
1 1 1
1 1 1
Matriks kedua
--------------------
2 2 2
2 2 2
2 2 2
Matriks Hasil
------------------
3 3 3
3 3 3
3 3 3
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
1 //program 8.8
2 //nama file:arraystring.cpp
3 //program array dua dimensi untuk string c++
4
5 #include <cstdlib>
6 #include <iostream>
7
8 Using namespace stdl
9
10 Int main(int argc, char*argv[])
11 {
12 Char hari[7][10];
13 Int I;
14 For(i=0;i<7;i++)
15 {
16 Cout<<”hari ke-“”<<i+1<<”:”;
17 Cin>>hari[i];
18 }
19 Cout<<endl;
20
21 For(i=0;i<7;i++)
22 {
23 Cout<<”hari ke-“<<i+1<<”:”<<hari[i]<<endl;
24 }
25 Cout<<endl<<endl;
26
27 Return EXIT_SUCCES
28 }
1 //program 8.9
2 //nama file: arraytigadimensi.c
3 //program array tiga dimensi C
4
5 #include <stdio.h>
6 #include <stdlib.h>
7
8 Int main(int argc, char*argv[])
9 {
10 Char nama[2][2][10];
11 Int I,j;
12 For(i=0;i<2;i++)
13 {
14 For(j=0;j<2;j++)
15 {
16 Printf(“nama[%i][%i]:”,i+1,j+1);
17 Flush(stdin);
18 Get(nama);
19 }
20 Printf(“\n”);
21 }
22
23 For(i=0;i<2;i++)
24 {
25 For(j=0;j<2;j++)
26 {
27 Printf(“nama[%i][%i]:%s\n”,i+1,j+1;
28 Nama[i][j];
29 }
30 }
31 Printf(“\n”);
32
33 Return 0;
34 }
1 //program 8.9
2 //nama file: arraytigadimensi.cpp
3 //program array tiga dimensi c++
4
5 #include <cstdlib>
6 #include <iostream>
7
8 Using namespace std;
9
10 Int main(int argc, char*argv[])
11 {
12 Char nama[2][2][10];
13 Int I,j;
14 For(i=0;i<2;i++)
15 {
16 For(j=0;j<2;j++)
17 {
18 Cout<<”nama[“<<i+1<<”][“<<j+1<<”];
19 Cin>>nama[i][j];
20 }
21 Cout<<endl;
22 }
23 For(i=0;i<2;i++)
24 {
25 For(j=0;j<2;j++)
26 {
27 Cout<<”nama[“<<i+1<<”][“<<j+1<<”];
28 <<nama[i][j];<<endl;
29 }
30 }
31 Cout<<endl;
32 System(“PAUSE”);
33 Return EXIT_SUCCES
34 }
Hasil eksekusi
Nama[1][1] : Adam
Nama[1][2] : Elisa
Nama[2][1] : Rio
Nama[2][2] : Iva
1 //program 8.10
2 //nama file : arrayparameter.c
3 //program array sebagai parameter fungsi C
4
5 #include <stdio.h>
6 #include <stdlib.h>
7
8 Void inpu_array(int bil[], int banyak_data)
9 {
10 Int I;
11 For(i=0;i<banyak_data;i++)
12 {
13 Printf(“Nilai bil[%i] : “,i+1);
14 Scanf(“%i,&bil[i]);
15 }
16 }
17
18 Int jumlah_elemen(int bil[],int banyak_data)
19 {
20 Int I,jumlah=0;
21 For(i=0;i<banyak_data;i++)
22 {
23 Jumlah=jumlah+nil[i];
24 }
25 Return jumlah;
26 }
27
28 Int main(int argc, char*argv[])
29 {
30 Int bil[100];//maksimal elemen
31 Int banyak_data;
32 Int jumlah;
33 Printf(“mau berapa elemen : “);
34 Scanf(“%i,&banyak_data”);
35 Print(“\n”):
36
37 //memanggil void input_array
38 Input_array(bil,banyak_data);
39
40 //memanggil fungsi jumlah_elemen
41 Jumlah=jumlah_elemen(bil,banyak_data);
42
43 Printf(“\n”);
44 Printf(“hasil penjumlahan = %i\n\n”,jumlah);
45
46 Return 0;
47 }
1 //program 8.10
2 //nama file:arrayparameter.cpp
3 //program array sebagai parameter fungsi c++
4
5 #include <cstdlib>
6 #include <iostream>
7
8 Using namespace std;
9
10 Void input_array(int bil[], int banyak_data)
11 {
12 Int I;
13 For(i=0;i<banyak_data;i++)
14 {
15 Cout<<”nilai bil[“<<i+1<<”]: “;
16 Cin>>bil[i];
17 }
18 }
19
20 Int jumlah_elemen(int bil[], int banyak_data)
21 {
22 Int i,jumlah=0;
23 For(i=0;i<banyak_data;i++)
24 {
25 Jumlah=jumlah+bil[i];
26 }
27 Return jumlah;
28 }
29
30 Int main(int agrc, char*argv[])
31 {
32 //maksimal elemen
33 Int bil[100];
34 Int banyak_data;
35 Int jumlah;
36
37 Cout<<”mau berapa elemen: “;
38 Cin>>banyak_data;
39 Cout<<endl;
40
41 //memanggil void input_array
42 Input_array)bil,banyak_data);
43
44 //memanggil fungsi jumlah_elemen
45 Jumlah=jumlah_elemen(bil,banyak_data);
46
47 Cout<<endl;
48 Cout<<”hasil penjumlahan elemen=”
49 <<jumlah<<endl<<endl;
50
51 Return EXIT_SUCCES
52 }
Hasil eksekusi
Mau berapa elemen : 5
Nilai bil[1] ; 1
Nilai bil[2] ; 2
Nilai bil[3] ; 3
Nilai bil[4] ; 4
Nilai bil[5] ; 5
Hasil Penjumlahan elemen = 15