Array merupakan
koleksi data dimana setiap elemen memakai nama dan tipe yang sama serta setiap
elemen diakses dengan membedakan indeks array-nya. Berikut
adalah contoh variable bernama c yang mempunyai lokasi memori yang
semuanya bertipe int.
C[0] = -45;
C[1] = 6;
C[2] = 0;
C[3] = 72;
C[4] = 1543;
C[5] = 43;
C[6] = 4;
Masing-masing
nilai dalam setiap lokasi mempunyai identitas berupa nama c dan nomor indeks
yang dituliskan di dalam tanda kurung ‘[..]’. sebagai contoh, 72 adalah
nilai dari c[3].
Deklarasi Array
Variable array dideklarasikan
dengan mencantumkan tipe dan nama variable yang diikuti dengan banyaknya lokasi
memori yang ingin dibuat. Dengan demikian, deklarasi untuk
variable array c di atas adalah :
int c[7];
Perlu
diperhatikan bahwa C++ secara otomatis menyediakan lokasi memori yang sesuai
dengan yang dideklarasikan, dimana nomor indeks selalu dimulai dari 0. Nilai
suatu variable array dapat juga diinisialisasi secara langsung pada
saat deklarasi, misalnya;
Int c[7] =
{-45, 0, 6, 72, 1543, 43, 4}
Berarti
setiap lokasi memori dari variable array c langsung diisi dengan
nilai-nilai yang dituliskan didalam tanda kurung kurawal.
Banyaknya
lokasi memori dapat secara otomatis disediakan sesuai degan banyaknya nilai
yang akan dimasukkan, seperti contoh berikut yang tentunya membuat
variable array dengan 10 lokasi memori:
Int x
[]={10, 15 12, 5, 13, 9, 6, 17, 25, 31};
Untuk
memperjelas gambaran anda
tentang array perhatikan contoh aplikasi
variable array, yaituprogram untuk menghitung jumlah setiap elemen
dalam suatu array.
Sebagai
gambaran dari program tersebut, dapat dibuat
sebuah algoritma sebagai berikut:
- Tentukan elemen array sebanyak yang diinginkan (dalam hal ini, elemen array tersebut berjumlah 12 buah)
- Tentukan nilai awal indeks, batas akhir indeks dan kenaikannya (dalam hal ini, nilai awal indeks adalah 0, batas akhir indeks adalah jumlah elemen array diatas yaitu 12 dikurangi dengan 1, kenaikannya adalah 1)
- Lakukan perulangan sesuai dengan langkah 2
- Lakukan penjumlahan masing-masing elemen array sampai batas akhir indeks terpenuhi
- Tampilkan penjumlahan semua elemen array
- Selesai.
Sedangkan
implementasi dalam program dapat dilihat berikut ini.
Contoh Program array
1
2
3
4
5
6
7
8
9
10
11
12
|
/*Program :array1.cpp*/
#include <stdio.h>
#define SIZE 12
main()
{
int a[SIZE]={1, 3, 5, 4, 7, 2, 99, 16, 45, 67, 89, 45};
int indeks, total =0;
for(indeks=0; indeks<=SIZE-1; indeks++)
total += a[indeks];
printf("\nTotal setiap elemen array adalah %d",total);
return 0;
}
|
Bila program diatas
dijalankan, akan muncul hasil :
Total setiap
elemen array adalah 383
Adapun
keterangan dari program diatas adalah sebagai berikut :
Hasil
penjumlahan setiap elemen array diperoleh dari jumlah data atau
elemen array sebanyak 12 buah yang sudah didefinisikan pada
awal program yaitu #define SIZE 12. Kemudian setiap
elemenarray dari a[0] yang berisi data, a[1] yang berisi data 3 di
jumlahkan sampai dengan a[11] yang berisi data 45. Proses penjumlahan dilakukan
pada loop dimulai dari 0 sampai data yang terakhir atau elemen terakhir.
Array Dimensi
Satu
Bentuknya :
Tipe
nama_var[ukuran];
Dengan :
Tipe :
menyatakan jenis elemen array (int, char, unsigned, dan
lain-lain)
Ukuran :
menyatakan jumlah maksimal elemen array
Contoh :
Float
nilai_ujian[5];
Pada turbo
C++ array disimpan dalam memori secara berurutan. Elemen pertama
berindeks nol digambarkan sebagai berikut :
Nilai_ujian[0]
Nilai_ujian[1]
Nilai_ujian[2]
Nilai_ujian[3]
Nilai_ujian[4]
Masing-masing
berbentuk float dan berjumlah 5 elemen.
Selain itu,
deklarasi array juga dapat berupa :
Static int
bulan[12]={1,2,3,4,5,6,7,8,9,10,11,12}
Sesuai
dengan deklarasi array diatas, maka isi
variable array telah ditentukan yaitu :
Bulan[0]
bernilai 1
Bulan[1]
bernilai 2
Bulan[2]
bernilai 3
Bulan[3] bernilai
4
Bulan[4]
bernilai 5
Bulan[5]
bernilai 6
Bulan[6]
bernilai 7
Bulan[7]
bernilai 8
Bulan[8]
bernilai 9
Bulan[9]
bernilai 10
Bulan[10]
bernilai 11
Bulan[11]
bernilai 12
Untuk
memperjelas tentang array dimensi satu, perhatikan maslah berikut ini
:
Misalkan
Anda diminta membuat algoritma dan program untuk
menampilkan bilangan dari 1 sampaibilangan 10, dengan pangkatnya
masing-masing. Adapun batas nilai maksimal yang disimpan adalah 100.
Sesuai yang
telah Anda pelajari , bahwa bilangan 1 pangkatnya adalah 1. Hasil ini
diperoleh dari 1*1, kemudian bilangan 2 pangkatnya adalah 4, hasil
ini diperoleh dari 2*2 sampai bilangan 10 yang pangkatnya adalah 100,
hasil ini diperoleh dari 10*10.
Algoritma dari
permasalahan diatas adalah berikut ini :
1. Tentukan
elemen array untuk menampung nilai perkalian
2. Tentukan
nilai awal indeks, batas akhir indeks dan kenaikannya (dalam hal ini , nilai
awal indeks adalah 0, batas akhir indeks adalah 10, dan kenaikannya adalah 1)
3.
Lakukan perulangan sesuai langkah 2
4. Nilai awal
indeks ditambah dengan 1
5. Lakukan
perkalian masing-masing elemen array sampai batas akhir indeks
terpenuhi.
6. Tampilkan
perkalian semua elemen array
7. Selesai .
Contoh program array dimensi
satu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
/*Program :array2.cpp*/
#include <stdio.h>
int main()
{
int square[100];
int i; /*loop index*/;
int k; /*the integer*/
/*calculate the squares */
for (i=0; i<10; i++)
{
k= i+1;
square[i]=k*k;
printf("\nPangkat dari %d adalah %d ", k, square[i]);
}
return 0;
}
|
Bila program dijalankan
akan muncul hasil :
Pangkat dari
1 adalah 1
Pangkat dari
2 adalah 4
Pangkat dari
3 adalah 9
Pangkat dari
4 adalah 16
Pangkat dari
5 adalah 25
Pangkat dari
6 adalah 36
Pangkat dari
7 adalah 49
Pangkat dari
8 adalah 64
Pangkat dari
9 adalah 81
Pangkat dari
10 adalah 100
Penjelasan :
Dari program diatas,
Anda dapat melihat ada 10 buah elemen yang masing-masing nilainya akan
dipangkatkan, mulai dari 1 sampai 10. Dimana dalam memori sudah dipesan tempat
sebanyak 100.
Sedangkan
apabila array akan dikirim ke sebuah fungsi caranya adalah hanya
dengan mencantumkan nama array tanpa diikuti dengan tanda apapun,
seperti contoh berikut :
int c[5] =
{-45, 0, 6, 72, 1543};
—
—
JUMLAH (c,
5)
—-
Dalam contoh diatas,
yang memanggil fungsi JUMLAH dengan mengirimkan argument berupa
variable array c dan sebuah konstanta 5. Perhatikan bahwa
variable array ditulis hanya c tanpa notasi tambahan apapun.
Deklarasi variable array yang menjadi parameter dari suatu fungsi dituliskan
dengan nama variable array yang diikuti dengan tanda kurung [], tanpa
menuliskan banyaknya lokasi memori yang diinginkan.
ARRAY DIMENSI
DUA
Struktur array yang
dibahas diatas mempunyai satu dimensi, sehingga variabelnya disebut
variablearray berdimensi satu. Pada bagian ini
ditunjukkan array berdimensi lebih dari satu, yang sering disebut
dengan array berdimensi dua.
Sebagai contoh,
sebuah matrik B berukuran 2 X 3 dapat dideklarasikan dalam C seperti berikut :
int B[2][3] = {[2, 4, 1}, {5, 3, 7}}; yang menempati lokasi memori dengan
susunan sebagai berikut :
0 1 2
0 2 4 1
1 5 3 7
Dan definisi
variable untuk setiap elemen tersebut adalah :
0 1 2
0 b[0][0]
b[0][1] b[0][2]
1 b[1][0]
b[1][1] b[1][2]
Sebagai
implementasi dari keterangan diatas, perhatikan program berikut ini :
Contoh Program array dimensi
dua
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 :array2.cpp*/
#include <stdio.h>
void printArray(int[][3]);
main()
{
int matrik1[2][3] = {{1, 2, 3},{4, 5, 6}};
int matrik2[2][3] = {1, 2, 3, 4, 5};
int matrik3[2][3] = {{1, 2},{4}};
printArray (matrik1);
printArray (matrik2);
printArray (matrik3);
return 0;
}
void printArray (int a[][3])
{
int i,j;
for (i=0; i<=1; i++)
{
for (j=0; j<=2; j++)
printf("%d",a[i][j]);;
printf("\n");
}
}
|
Bila program diatas
dijalankan, akan mucul hasil :
123
456
123
450
120
400
Penjelasan :
Dari program diatas
untuk matrik 1, penulisannya adalah 123 456, sedangkan pada matrik 2
penulisannya adalah 123 450. 0 disini mempunyai arti tempat yang disediakan
untuk data kolom ke 3 dan baris ke 2 tidak diisi. Sedangkan matrik 3
penulisannya adalah 120 400. Dari matrik 3 disini kita bisa melihat bahwa pada
baris pertama kolom ketiga data tidak diisi dan dianggap 0 dan pada baris kedua
kolom kedua dan ketiga juga tidak diisi juga diisi 0.
Dalam program tersebut,
juga digunakan fungsi untuk menampung hasil penjumlahan matrik.
Perhatikan contoh lain
:
Int
datasiswa[4][3];
Deklarasi
diatas digunakan untuk mendeklarasikan suatu data siswa yang berbentuk demikian
:
No Nama
Kelas Jumlah Siswa
Tahun 1989
Tahun 1990 Tahun 1991
1 Kelas 1 50
55 49
2 Kelas 2 60
60 55
3 Kelas 3 56
56 56
4 Kelas 4 49
50 54
Dari
deklarasi diatas maka angka empat [4] menyatakan jumlah kelas, dan angka indek
[3] menyatakan tahun.
Data siswa
[0][2] adalah Kelas 1 dan jumlah siswa tahun 1990 yaitu 55. Atau jumlah siswa
kelas 1 pada tahun 1990 adalah 55.
Bentuk data
siswa dapat juga digambarkan sebagai berikut :
1 2 3
1 50 55 49
2 60 60 55
3 56 56 56
4 49 50 54
Array ini
dapat pula diberi nilai tetap dengan static seperti
pada array dimensi satu. Deklarasinya adalah sebagai berikut :
Static int
jumlah [4][3]=
{
50, 55, 49,
60, 60, 55,
56, 56, 56,
49, 50, 54
};
ARRAY DIMENSI
BANYAK
Array ini
seperti array dimensi dua tetapi dapat memiliki ukuran yang lebih
besar. Sebenarnya arraydimensi banyak ini tidak terlalu sering digunakan,
tetapi sewaktu-waktu kalau dimensi yang dibutuhkan banyak,
maka array ini sangat memegang peranan yang penting.
0 komentar:
Posting Komentar