Pengertian Array
Array adalah sebuah variabel yang dapat menampung banyak value(data) yang bertipe data sama sesuai dengan inisiasi tipe data pada array yang nanti kita buat, setiap value(data) pada array akan disimpan pada memori yang berbeda beda walaupun satu variabel yang diinisialisasi.Code dasar untuk inisialisasi array :
Biasanya kan sebuah variabel itu hanya dapat menampung 1 value saja misalnya :
int bilangan = 1;
int adalah tipe data, bilangan adalah variabel, dan 1 adalah value nya. ketika memiliki banyak data maka kita harus menambahkan value lagi bukan ? itulah kegunaan array, jika kita ingin menambahkan value dalam 1 variabel jangan menuliskan seperti ini :int bilangan = 1, 2;
itu salah, untuk membuat array tambahkan kurung siku pada variabelnya, seperti :int bilangan[2];
value yang ada didalam kurung siku bukan value pada variabelnya, tetapi seberapa banyak nilai/value yang variabel tersebut tampung, karena diisikan 2 maka value yang kita masukan dalam array hanya 3 sajah,int bilangan[2] = {22, 23, 24};
array selalu menghitung dari 0 jadi jika value yang ingin ditampung adalah 2 maka masukan 3 value dalam array.Berikut bagaimana penjelasan array 2 dimensi, jika dibandingkan dengan array 1 dimensi, baca juga Penjelasan array 1 dimensi c++
1. Inisialisasi Pengenalan Array 2 Dimensi
#include <iostream>
using namespace std;
int main()
{
int bilangan[3][4]={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12} };
for (int a=0;a<3;a++ ){
for (int b=0;b<4;b++){
cout << "Pada index ke-" << a << "," << b << " adalah " << bilangan[a][b] << endl;
}
}
return 0;
}
Output :
Pada index ke-0,0 adalah 1
Pada index ke-0,1 adalah 2
Pada index ke-0,2 adalah 3
Pada index ke-0,3 adalah 4
Pada index ke-1,0 adalah 5
Pada index ke-1,1 adalah 6
Pada index ke-1,2 adalah 7
Pada index ke-1,3 adalah 8
Pada index ke-2,0 adalah 9
Pada index ke-2,1 adalah 10
Pada index ke-2,2 adalah 11
Pada index ke-2,3 adalah 12
Berikut penjabaran baris dan kolom pada variabel bilangan[3][4] dengan tabel
Dalam code di atas bilangan[3][4] adalah sintax awal array 2 dimensi, kalo satu dimensi bilangan[3] jadi bedanya kalo 2D itu ada 2 kalo 1D itu ada satu :), penjelasanya singkat saja seperti pada gambar di atas itu, array 2 Dimensi bisa menentukan berpapa baris yang kita inginkan dan berpa kolom yang kita inginkan.
Pada index ke-0,0 adalah 1
Pada index ke-0,1 adalah 2
Pada index ke-0,2 adalah 3
Pada index ke-0,3 adalah 4
Pada index ke-1,0 adalah 5
Pada index ke-1,1 adalah 6
Pada index ke-1,2 adalah 7
Pada index ke-1,3 adalah 8
Pada index ke-2,0 adalah 9
Pada index ke-2,1 adalah 10
Pada index ke-2,2 adalah 11
Pada index ke-2,3 adalah 12
Berikut penjabaran baris dan kolom pada variabel bilangan[3][4] dengan tabel
kolom 0 | kolom 1 | kolom 2 | kolom 3 | |
---|---|---|---|---|
baris 0 | ke-0,0 | ke-0,1 | ke-0,2 | ke-0,3 |
baris 2 | ke-1,0 | ke-1,1 | ke-1,2 | ke-1,3 |
baris 2 | ke-2,0 | ke-2,1 | ke-2,2 | ke-2,3 |
Dalam code di atas bilangan[3][4] adalah sintax awal array 2 dimensi, kalo satu dimensi bilangan[3] jadi bedanya kalo 2D itu ada 2 kalo 1D itu ada satu :), penjelasanya singkat saja seperti pada gambar di atas itu, array 2 Dimensi bisa menentukan berpapa baris yang kita inginkan dan berpa kolom yang kita inginkan.
blangan[3][4] ==> [3] maksudnya baris, jadi kalo dalam array pengelompokan dari isi nilainya,
blangan[3][4] ==> [4] maksudnya jumlah isi yaitu nilai dari pengelompokan array tadi.
jadi begini
int bilangan[3][4]={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12} };
yang di tandai stabilo hitam itu kelompoknya, tapi dilustrasikan dengan baris, yaitu ada tiga sesuai dengan "blangan[3][4]"
Nah selain itu pada code bagian 4 nya "blangan[3][4]" ini 4 nya maksudnya isi nilainya {1, 2, 3, 4} kan ada 4.
Proses selanjutnya untuk mencetak menggunakan cout di sertai for/pengulangan agar otomatis mencetak, tidak terlalu panjang
2. Array 2 dimensi dengan inputan keyboard CIN
#include <iostream>
using namespace std;
int main()
{
int bilangan[2][3];
for (int a=0;a<2;a++ ){
for (int b=0;b<3;b++){
cout << "Masukan index ke-" << a << "," << b << " = ";
cin >> bilangan[a][b];
}
}
cout << "\nMencetak hasil dari inputan " << endl;
cout << "============================" << endl;
for (int a=0;a<2;a++ ){
for (int b=0;b<3;b++){
cout << "Pada index ke-" << a << "," << b << " adalah " << bilangan[a][b] << endl;
}
}
return 0;
}
Hanya menghilangkan nilai yang sudah ada di array nya kemudian menambahkan cin pada for/pengulangan ke pertama, jika ingin user yang menginputkan bilangannya, sedangkan for/pengulangan kedua untuk mencetak inputan tadi ke layar atau mencetaknya.
outputnya :
Masukan index ke-0,0 = 1
Masukan index ke-0,1 = 2
Masukan index ke-0,2 = 3
Masukan index ke-1,0 = 4
Masukan index ke-1,1 = 5
Masukan index ke-1,2 = 6
Mencetak hasil dari inputan
============================
Pada index ke-0,0 adalah 1
Pada index ke-0,1 adalah 2
Pada index ke-0,2 adalah 3
Pada index ke-1,0 adalah 4
Pada index ke-1,1 adalah 5
Pada index ke-1,2 adalah 6
Ingat = Array selalu menghitung dari angka 0 bukan 1
3. Membuat Matriks dengan Array 2 Dimensi
Kalian pernah liat matriks kan tentunya ? dengan baris dan kolom misalkan 2 x 2 berarti baris 2 dan kolom 2 contohnya :
3 58 6
Cara membat matriks dengan array 2 Dimensi
#include <iostream>
using namespace std;
int main()
{
int bil[2][3];
for (int a=0;a<2;a++){
for (int b=0;b<3;b++){
cout << "Matriks " <<a<<","<<b<< " = ";
cin >> bil[a][b];
}
}
cout << "\n============================================" << endl;
cout << "Hasil yang anda masukan, Tampilannya Adalah " << endl;
cout << "============================================" << endl;
for (int a=0;a<2;a++){
for(int b=0;b<3;b++){
cout << bil[a][b]<< " ";
}cout << endl;
}
}
Sama saja agar user memasukan inputanya cuman ini berbeda outputnya dari sebelumnya, outputnya akan jadi seperti matriks, karena ini di beri endl saja pada code warna orange, makanya bisa seperti tabel
Outputnya :
Matriks 0,0 = 1
Matriks 0,1 = 2
Matriks 0,2 = 3
Matriks 1,0 = 4
Matriks 1,1 = 5
Matriks 1,2 = 6
============================================
Hasil yang anda masukan, Tampilannya Adalah
============================================
1 2 3
4 5 6
4. Input Elemen pada Array 2 dimensi
Sekarang tahap selanjutnya dengan memberikan wewnang pada user :) maksudnya agar elemen pada array kita akan di inpukan keyboard saja tidak di tentukan pada kode.
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <stdlib.h>
using namespace std;
int main()
{
int Mat_A[4][4];
int i,j,k, baris, kolom;
do{
system("cls");
cout << "Baris dan kolom tidak boleh lebih dari 4!\n\n";
cout << "Masukkan banyak baris matriks A : ";
cin >> baris;
cout << "Masukkan banyak kolom matriks A : ";
cin >> kolom;
} while (baris>4 ||kolom>4);
//membaca elemen-elemen matriks A
cout << "Matriks A ("<<baris<<"x"<<kolom<<")\n";
for (i=0;i<baris;i++){
for (j=0;j<kolom;j++){
cout << "Indeks "<<i<<","<<j<<" = ";
cin >> Mat_A[i][j];
}
}cout <<endl;
//Mencetak elemen A
cout << "\nMatriks A ("<<baris<<"x"<<kolom<<")\n";
for (i=0;i<baris;i++){
for (j=0;j<kolom;j++){
cout <<setw(3)<<Mat_A[i][j];
}
cout <<endl;
}
getch();
return 0;
}
Yang berbeda dari sebelumnya adalah yang sudah ada tanda warnna orange, jadi yang sudah saya bilang tadi dapat mengimputkan berapa jumlah elemen yang akan dibuat matriks, tapi jika lebih dari 4 maka akan mengulang terus karena disitu apa pengulangan do while.
5. Penjumlahan Matriks pada Array 2 Dimensi
Jika array 2 dimensi ini dikembangkan lagi akan menghasilkan program progam yang kita butuhkan selanjutnya contohnya ini, jika ingin menjumlahkan dari 2 matriks ke dalam satu matriks di C++ khususnya matriks 2 dimensi
#include <iostream>
#include <conio.h>
#include <iomanip>
using namespace std;
int main(int argc, char *argv[])
{
int matA[2][2];
int matB[2][2];
int matC[2][2];
for(int i=0; i<2; i++){
for(int j=0; j<2; j++){
cout<<"Data Matriks A ["<<i<<"] ["<<j<<"] : ";
cin>>matA[i][j];
}
}cout<<endl;
for(int i=0; i<2; i++){
for(int j=0; j<2; j++){
cout<<"Data Matriks B ["<<i<<"] ["<<j<<"] : ";
cin>>matB[i][j];
}
}cout<<endl;
cout<<"Matriks A + Matriks B :"<<endl;
for(int i=0; i<2; i++){
for(int j=0; j<2; j++){
matC[i][j] = matA[i][j]+matB[i][j];
cout<<setw(3)<<matC[i][j];
}cout<<endl;
}
// system("pause");
return 0;
}
yang berwarna merah itu penjumlahan antara matriks A dan matriks B di setiap bilangannya. sebenarnya cuma seperti itu saja dasar dasarnya tinggall di kembangkan logikannya
Lanjutan
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <stdlib.h>
using namespace std;
int 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, baris2, kolom2;
do{
system("cls");
cout << "Baris dan kolom tidak boleh 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>4||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 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 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 dua 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 D ("<<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 dapat 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
cout << "\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 dapat dikalikan!!!";
getch();
return 0;
}
tag :
Contoh array 2 dimensi dev c++
contoh program array c++ sederhana
contoh program array 2 dimensi bahasa c++
contoh program menggunakan array c++
contoh array multidimensi
pengertian array 2 dimensi pada c++
array 2 dimensi c++ matriks
membuat matriks di c++ menggunakan array multi dimensi
Terimakasih, penjelasannya lengkap... Bermanfaat sekali..
ReplyDeleteSama-sama, terimakasih sudah berkunjung :)
DeleteThis comment has been removed by the author.
ReplyDeletemau tanya min kenapa ya nilai matriks saya pada baris 0 kolom 2 pada saat output nilainya berubah mengikuti nilai pada baris 1 kolom 0? padahal kode yang saya ketik sama persis seperti yang dicontohkan
ReplyDeletecoba dicek lagi mas, siapa tau ada yang terlewat.
Delete