Monday, November 13, 2017

√ Pengertian Dan Klarifikasi Array Dua Dimensi C++

Array satu dimensi, jikalau pada array satu dimensi hanya terdiri dari satu baris dan beberapa kolom saja, maka untuk array dua dimensi ini terdiri lebih dari satu (beberapa) baris dan kolom.

Dengan demikian array dua dimensi tersusun dalam bentuk kolom serta baris, yang mana indeks pertamanya dinyatakan sebagai baris dan untuk indeks keduanya dinyatakan sebagai kolom.

Sama dengan halnya array satu dimensi, array dua dimensi juga sebelum digunakan haruslah dilakukan sebuah deklarasi , dan bentuk umum untuk pendeklarasian array dua dimensi ini ialah sebagai berikut
 tipe_data nama_var_array  [banyak_baris] [bayak_kolom]; 
Artinya :
  • tipe_data       : Menyatakan tipe data elemen array
  • banyak_baris : Menyatakan maksimum banyaknya suatu baris
  • banyak_kolom   : Menyatakan maksimum banyaknya satu kolom

Baca Juga Artikel Menarik Lainnya :

 Array dua dimensi atau yang sering dikenal dengan istilah matriks merupakan Pengembangan  √ Pengertian dan Penjelasan Array Dua Dimensi C++

Penjelasan Array Dua Dimensi C++

Selain penmgertian diatas, ada juga yang mendefinisikan bahwa Array Dua Dimensi ialah adalah sebutan untuk array yang penomoran index-nya memakai 2 buah angka. Analogi yang sering digunakan mirip titik koordinat dalam diagram kartesius.

Diagram kartesius merupakan diagram yang biasa kita pakai untuk menciptakan grafik. Disini terdapat sumbu X dan sumbu Y. Sebuah titik dalam diagram kartesius ini harus disebut secara berpasangan, mirip (2,3) atau (-3, 1).

 Array dua dimensi atau yang sering dikenal dengan istilah matriks merupakan Pengembangan  √ Pengertian dan Penjelasan Array Dua Dimensi C++
Analogi lain ialah dengan matriks. Dalam matematika, matrik terdiri dari kolom dan baris. Kembali, untuk memilih nilai dari sebuah matriks, kita harus sebut secara berpasangan mirip baris 1 kolom 2, atau baris 3 kolom 1. Konsep mirip inilah yang menjadi dasar dari array 2 dimensi.

Untuk menciptakan array 2 dimensi di dalam bahasa C, kita menciptakan 2 kali tanda kurung siku sesudah nama variabel, mirip referensi berikut:
 int bilangan[2][2];  
Baris diatas akan menciptakan array 2 dimensi dengan nama variabel: bilangan. Variabel bilangan ini akan berisi 4 element (2 x 2). Atau jikalau diibaratkan sebagai matriks, disini kita menciptakan matriks 2 x 2.

Untuk mengakses setiap element array, penulisan index juga harus ditulis 2 kali, mirip referensi berikut:
bilangan[0][0] = 100; bilangan[0][1] = 101; bilangan[1][0] = 110; bilangan[1][1] = 111;  
Perhatiakan referensi dibawah ini 

int Mat_A[3][4]

Maka data diatas sanggup kita gambarkan pengalokasian pada memorinya ialah mirip berikut

 Array dua dimensi atau yang sering dikenal dengan istilah matriks merupakan Pengembangan  √ Pengertian dan Penjelasan Array Dua Dimensi C++
Mengisi elemen array dua dimensi sama halnya dengan mengisi elemen pada array satu dimensi, yaitu dengan cara melaksanakan Inisialisasi, memakai operator penugasan dan dibaca dari media masukan.

3 Cara Mengisi Elemen Array Dua Dimensi

1. Inisialisasi Array Dua Dimensi

Memberikan elemen array pada ketika pendeklarasian variabel array, bentuk umum dari inisialisasi array dua dimensi ialah sebagai berikut
 tipe_data nama_var_array [banyak_baris] [banyak_kolom] = {{baris-0}, {baris-1}, . . . ., {baris-n-1}};
Dimana elemen - elemen pada baris-0, baris-1,....,baris-n-1 juga terdiri dari beberapa kolom taitu kolom-0, kolom-1,....., kolom-m-1.

Sama halnya dengan inisialisasi array satu dimensi, jikalau elemen - elemen kurang dari ukuran baris dan kolom maka akan diberikan nilai atau harga 0 (nol), tetapi jikalau elemen lebih dari ukuran baris dan kolom maka akan terjadi kesalahan " Too many initializers " Perhatikan referensi dibawah ini :

Diketahui matriks A mirip dibawah ini

 Array dua dimensi atau yang sering dikenal dengan istilah matriks merupakan Pengembangan  √ Pengertian dan Penjelasan Array Dua Dimensi C++
Maka untuk penginisialisasian matrik diatas ialah sebagai berikut : int Mat_A = {{2,3,9,2},{7,5,4,3},{3,2,5,4}}

Contoh pembuatan aktivitas untuk mencetak elemen - elemen Matriks A yang mempunyai ukuran 3x4 yang telah dilakukan penginisialisasian
 /*Array dua dimensi dibaca dari media masukan Nama File : Lat_5*/  #include<iostream.h> #include<conio.h> main ()  { int Mat_A[3] [4]={{3,1,6,8},{5,2,3,4},{6,1,2,4}}; int i,j;  //Mencetak Elemen Matriks for (i=0;1<3;i++) { for(j=0;j<4; j++) cout<<mat_A[i] [j]<<" ";cout<<endl; } getch(); } 

2. Menggunakan Operator Penugasan

Mengisi elemen array dua dimensi dengan memakai operator penugasan sanggup anda lakukan dengan bentuk format umum mirip dibawah ini

nama_var_array[baris] [kolom] = elemen;

dimana elemen ialah harga yang akan dilakukan penyimpanan pada nama_var_array dan baris serta kolom tertentu juga dengan tipe data elemen harus sama dengan tipe data variabel array.

referensi :
  • Mat_A[0] [0] = 2  → Mengisi elemen Mat_A pada baris 0 kolom 0 dengan 2;
  • Mat_A[0] [1] = 3  → Mengisi elemen Mat_A pada baris 0 kolom 1 dengan 3;
  • Mat_A[1] [0] = 7  → Mengisi elemen Mat_A pada baris 1 kolom 0 dengan 7;
  • Mat_A[2] [3] = 5  → Mengisi elemen Mat_A pada baris 2 kolom 3 dengan 5; 

3. Dibaca dari Media Masukan

Pada cara ketiga ialah elemen dibaca melalui media masukan atau dalam hal ini sanggup kita asumsikan sebagai keyboard, untuk sanggup melaksanakan pembacaan array pada metode ketiga ini, anda sanggup memakai format umum dibawah ini
 cin>>nama_var_array [indeks_baris] [indeks_kolom]; 
Contoh :

Buatlah aktivitas untuk membaca dua buah Matriks A berordo mxn dan Matriks B berordo kxl. Hitung penjumlahan (Matriks C), pengurangan (Matriks D) dan Perkalian (Matriks E) antara kedua matriks kemudian cetak seluruh matriks.

Catatan :
Dua buah matriks sanggup dijumlahkan atau dikurangkan jikalau kedua matriks mempunyai ordo yang sama, serta dua buah matriks sanggup dikalikan jikalau kolom matriks pertama sama dengan baris Matriks kedua
 /* Array Dua Dimensi Penjumlahan, Pengurangan    dan perkalian dua buah matriks    Nama File : Lat_I_06 */  #include<iostream.h> #include<conio.h> #include<iomanip.h> main() {  int Mat_A [4] [4], Mat_B [4] [4]; int Mat_C [4] [4], Mat_D [4] [4], Mat_E [4] [4]; int i, j, k; int Baris1, Kolom1; int Baris2, Kolom2; do {  clrscr(); cout<<"Baris dan kolom dilarang lebih dari 4 ! !\n\n"; cout<<"Masukkan Banyak Baris Matriks A : "; cin>>Baris1; cout<<"Masukkan Banyak Kolom Matriks A : "; cin>>Kolom1; cout<<"Masukkan Banyak Baris Matriks B : "; cin>>Baris2; cout<<"Masukkan Banyak Kolom Matriks B: "; cin>>Kolom2; } while (Baris1>4 || Kolom1>4 || Baris2> || Kolom2>4) ;  //Membaca elemen-elemen matriks A cout<<"Matriks A("<<Baris1<<"x"<<Kolom1<<") \n"; for (i=0; i<Baris1;i++) { for(j=0;j<kolom1; j++) { cout<<"elemen "<<i<<","<<j<<" = "; cin>>Mat_A [i] [j]; }  } cout<<endl;  //Membaca elemen-elemen matriks B cout<<"Matriks B("<<Baris2<<"x"<<Kolom2<<") \n"; for (i=0; i<Baris2;i++) { for (j=0; j<Kolom2; j++) { cout<<"elemen "<<i<<", "<<j<<" = "; cin>>Mat_B [i] [j]; } } cout<<endl;  //Mencetak Elemen Matriks A cout<<'\nMatriks A ("<<Baris1<<"x"<<Kolom1<<") \n"; for (i=0; i<Baris1;i++) { for (j=0; j<Kolom1; j++) cout<<setw (3) <<Mat_A [i] [j]; cout<<endl; }  //Mencetak Elemen Matriks B cout<<'\nMatriks B ("<<Baris2<<"x"<<Kolom2<<") \n"; for (i=0; i<Baris2;i++) { for (j=0; j<Kolom2; j++) cout<<setw (3) <<Mat_B [i] [j]; cout<<endl; }  if ((Baris1==Baris2) && Kolom1==Kolom2)) {  //Menghitung Jumlah dan Selisih du Buah Matriks for (i=0; i<Baris1;i++) { for (j=0; j<Kolom1; j++) {  Mat_C [i] [j] = Mat_A [i] [j] + Mat_B [i] [j]; //hitung jumlah Mat_D [i] [j] = Mat_A [i] [j] - Mat_B [i] [j]; //hitung selisih } }  //Mencetak Elemen Matriks C cout<<"\nMatriks C("<<Baris1<<"x"<<Kolom1<<") = "; cout<<"Matriks A("<<Baris1<<"x"<<Kolom1<<") + "; cout<<"Matriks B("Baris2<<"x"<<Kolom2<<") \n"; for (i=0; i<Baris1; i++) { for (j=0; j<Kolom1; j++) cout<<setw (3) <<Mat_C [i] [j]; cout<<endl; }  //Mencetak Elemen Matriks D cout<<"\nMatriks C("<<Baris1<<"x"<<Kolom1<<") = "; cout<<"Matriks A("<<Baris1<<"x"<<Kolom1<<") - "; cout<<"Matriks B("Baris2<<"x"<<Kolom2<<") \n"; for (i=0; i<Baris1; i++) { for (j=0; j<Kolom1; j++) cout<<setw (3) <<Mat_D [i] [j]; cout<<endl; } } else cout<<"\nTidak sanggup dijumlahkan dan dikurangkan!!! \n\n"; if (Kolom1==Baris2) {  //Menghitung Perkalian dua Buah Matriks for (i=0; i<Baris1;i++) { for (j=0; j(Kolom2; j++) { Mat_E [i] [j]=0; for (k=0; k<Kolom1; k++) Mat_E [i] [j]=Mat_E [i] [j] + (Mat_A [i] [k] * Mat_B [k] [j] ); } }  //Mencetak Elemen Matriks E out<<"\nMatriks E("<<Baris1<<"x"<<Kolom1<<") = "; cout<<"Matriks A("<<Baris1<<"x"<<Kolom1<<") * "; cout<<"Matriks B("Baris2<<"x"<<Kolom2<<") \n"; for (i=0; i<Baris1; i++) { for (j=0; j<Kolom1; j++) cout<<setw (3) <<Mat_E [i] [j]; cout<<endl; } } else cout<<\nKedua Matriks tidak sanggup dikalikan!!!"; getch(); }  

Sumber http://www.komputerdia.com