Contoh Array 2 Dimensi Inisialisasi, input keyboard, Input Elemen, Matriks, Penjumlahan Matriks Bahasa C++ [informatika 2] ~ Coding IsmyNR - Cara Dan Contoh Pemrograman

Contoh Array 2 Dimensi Inisialisasi, input keyboard, Input Elemen, Matriks, Penjumlahan Matriks Bahasa C++ [informatika 2]

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++
array 2 dimensi

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
kolom 0kolom 1kolom 2kolom 3
baris 0ke-0,0ke-0,1ke-0,2ke-0,3
baris 2ke-1,0ke-1,1ke-1,2ke-1,3
baris 2ke-2,0ke-2,1ke-2,2ke-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   5
8   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
logoblog

Share :

5 comments:

  1. Terimakasih, penjelasannya lengkap... Bermanfaat sekali..

    ReplyDelete
    Replies
    1. Sama-sama, terimakasih sudah berkunjung :)

      Delete
  2. This comment has been removed by the author.

    ReplyDelete
  3. mau 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

    ReplyDelete
    Replies
    1. coba dicek lagi mas, siapa tau ada yang terlewat.

      Delete

Berkomentarlah jika ada pertanyaan, Kesan pembaca atau saran yang membangun blog ini.
> Gunakan akun google dan ceklis kolom (Notify Me) agar mendapat notifikasi balasan komentar

 
Back to Top