Array merupakan tipe data terstruktur yang berguna untuk menyimpan
sejumlah data yang bertipe sama. Bagian yang menyusun array disebut
elemen array, yang masing-masing elemen dapat diakses tersendiri melalui
indeks array. Indeks
larik umumnya dimulai dari 0 dan ada pula yang dimulai dari angka bukan
0. Pengaksesan larik biasanya dibuat dengan menggunakan perulangan (looping). Array
dua dimensi merupakan tipe array yang berbeda. Array dua dimensi sering
dipakai untuk merepresentasikan tabel dan matriks dalam pemrograman.
Pendeklarasian Array 1 Dimensi.
tipe data_nama variabel_[jumlah indeks];
contoh : int x[10][10];
maksud
pendeklarasian di atas adalah memesan array bernama "x" dengan tipe
data "integer" dan jumlah indeks pada koordinat x sebanyak "10" dan
koordinat y sebanyak "10". Dimana x adalah untuk koordinat baris dan y
untuk koordinat kolom. Untuk lebih memahaminya lihat gambar berikut :
Pemasukan Data Ke Dalam Indeks Array 2 Dimensi.
cara
memasukkan data ke dalam indek array 2 dimensi sama dengan pemasukan
array 1 dimensi yaitu ada dua cara yaitu secara manual dan secara
menggunakan perulangan for.
- Dengan cara Manual
cin>>x[0][0];
maksudnya adalah memasukkan data pada indeks x dan y ke "0". Namun cara seperti ini kurang efisien karena terlalu banyak menuliskan source code. Misalkan anda memasukkan angka 9 pada indeks tersebut maka hasilnya adalah sebagai berikut :
- Dengan Cara Menggunakan Perulangan For
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
cin>>x[i][j];
}
cout<<endl;} // ini untuk mengganti baris
maksudnya adalah memasukkan data pada indeks sebanyak n. Jika n=3 dan m=3berarti data yang di masukkan adalah sebanyak 3 yaitu dari indek ke "0" sampai indeks ke "2" dari masing-masing koordinat x dan y. Dan data yang di masukkan adalah sebanyak n*m = 9 data. Cara ini lebih efisien karena anda dapat menentukan berapa banyak data yang perlu di masukkan dan menghemat menuliskan source code. Misalkan anda memasukkan angka 1,2,3,4,5,6,7,8,9 maka hasilnya adalah sebagai berikut :
kondisi awal i = 0 dan j = 0
setelah pada perulangan j berhenti maka secara otomatis akan berpindah baris. Maksudnya i akan bertambah 1 dan j kembali ke 0.
Kondisi ke dua i = 1 dan j = 0
setelah pada perulangan j berhenti maka secara otomatis akan berpindah baris. i akan bertambah 1 dan j kembali ke 0.
Kondisi ke tiga i = 2 dan j = 0
setelah perulangan j berhenti begitu juga dengan perulangan i. Maka pemasukan data ke indeks juga akan berhenti.
Pemanggilan Array 2 Dimensi.
Sama
dengan pemanggilan data dalam array 1 dimensi. Pemanggilan array 2
dimensi juga mempunyai 2 cara yaitu secara manual atau dengan
menggunakan perulangan for.
- Manual
cout<<x[0][0];
maksudnya adalah menampilkan hasil dari array x dengan nomor indeks x ke- "0" dan y ke-"0".
- Menggunakan Perulangan For
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
cout<<x[i][j];}
cout<<endl;} // pindah baris
maksud dari sorce code di atas adalah mencetak array x sebanyak n*m.
Misalkan n sebanyak 3 dan m sebanyak 3 maka hasilnya adalah sebaggai berikut :
kondisi awal i = 0 dan m = 0.
di saat j sudah tidak memenuhi syarat yaitu j<= m. maka perulangan j berhenti dan berganti baris. kemudian berganti kondisi i = i+1 dan j kembali 0.
Contoh program Array 2 Dimensi
#include <cstdlib>
#include <iostream>
using namespace std;
class matriks{
public:
friend istream& operator>>(istream&, matriks&);
friend ostream& operator<<(ostream&, matriks&);
void masuk_data();
matriks();
private:
int x[10][10],n,m;
};
matriks::matriks(){
cout<<"PROGRAM MENCETAK MATRIKS"<<endl;}
istream& operator>>(istream& in, matriks& a){
cout<<"Masukkan banyak baris :"; in>>a.n;
cout<<"Masukkan banyak kolom :"; in>>a.m;}
void matriks::masuk_data(){
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
cout<<"Masukkan data ke ["<<i+1<<"]["<<j+1<<"] :";
cin>>x[i][j];
}}
}
ostream& operator<<(ostream& out,matriks& b){
out<<"Banyak baris ="<<b.n<<endl;
out<<"Banyak kolom ="<<b.n<<endl;
out<<"Matriks X ="<<endl;
for(int i=0; i<b.n; i++){
out<<"\t";
for(int j=0; j<b.m; j++){
out<<b.x[i][j]<<"\t";
}cout<<endl;
}
}
int main(int argc, char *argv[])
{
matriks arif;
cin>>arif;
arif.masuk_data();
cout<<arif;
system("PAUSE");
return EXIT_SUCCESS;
}
Hasil running program :
Free Template Bloggercollection templateHot DealsBERITA_wongANtengSEOtheproperty-developer