Nilai-nilai data di suatu larik disebut dengan elemen-elemen larik.
letak urutan dari suatu elemen larik ditunjukkan oleh suatu subscript atau suatu index.
Menurut dimensinya, array dapat dibedakan menjadi:
1. Array satu dimensi
Merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang
akan diakses hanya melalui 1 indeks atau subscript.
Bentuk pendeklarasiannya:
Tipe_array nama_array[ukuran]
2. Array dua dimensi
Merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang
akan diakses melalui 2 indeks atau subscript yaitu indeks baris dan indeks kolom.
Bentuk pendeklarasiannya:
Tipe_array nama_array [baris][kolom]
3. Array multidimensi
Merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang
akan diakses melalui banyak indeks atau subscript. Array seperti ini biasa digunakan untuk matrik, array 2
dimensi jugta termasuk dalam array multidimensi.
Bentuk pendeklarasiannya:
Tipe_array nama_array [ukuran 1][ukuran2] . . . [ukuran N]
Perbedaan array dengan tipe data lain:
- Array dapat mempunyai sejumlah nilai, sedangkan tipe data lain hanya sebiah nilai saja.
- Array dapat digunakan untuk menyimpan beberapa nilai tipe data lain data (char, int, float, double, long,
dll) yang sama dengan satu sama saja.
- Array dapat berupa satu dimensi atau lebih, sedangkan tipe data lain hanya berupa satu dimensi.
Contoh:
1. 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];
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]
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
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 sampai bilangan 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 .
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:
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
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)
—-
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.
2. Array dimensi dua
Struktur array yang dibahas diatas mempunyai satu
dimensi, sehingga variabelnya disebut variable array 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
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]
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 :
Bila program diatas dijalankan, akan
mucul hasil :
123
456
123
450
120
400
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 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.
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
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
};
Static int jumlah [4][3]=
{
50, 55, 49,
60, 60, 55,
56, 56, 56,
49, 50, 54
};
3.
Array Multidimensi:
Array ini seperti array dimensi dua, tetapi dapat memiliki ukuran yang lebih besar. Sebenarnya array multi dimensi ini tidak terlalu sering digunakan, tetapi sewaktu-waktu kalau dimensi yang dibutuhkan banyak maka array ini sangat memegang peranan yang penting.
Sekian dan Terima Kasih.
Sekian dan Terima Kasih.