Latihan Kode Program C++: Penambahan Matriks 2×2

Latihan soal C++ di Duniailkom kali ini akan membahas cara membuat program penambahan matriks 2×2. Materi ini menguji pemahaman seputar proses input/input, operator aritmatika, cara penggunaan array dan konsep perulangan (looping).


Soal Penambahan Matriks 2×2

Buatlah kode program C++ untuk penambahan matriks 2×2. Agar lebih menantang, buat dalam 2 versi:

  1. Matriks di buat dari dalam kode program
  2. Matriks di input oleh user

Soal no 1 lebih sederhana karena nilai matriks cukup ditulis langsung ke dalam kode program. Sedangkan untuk soal nomor 2, nilai matriks akan di input oleh user.

Berikut contoh tampilan akhir yang diinginkan (matriks di tulis langsung ke dalam kode program) :

## Program C++ Penambahan Matriks 2x2 ##
==========================================

Matriks A:
  5  10
 15  20

Matriks B:
 11  22
 33  44

Matriks A + Matriks B:
 16  32
 48  64

Berikut contoh tampilan akhir yang diinginkan (matriks di input oleh user) :

##  Program C++ Penambahan Matriks 2x2  ##
==========================================

  Input Matriks A
-------------------
Baris 1, kolom 1 = 10
Baris 1, kolom 2 = 20
Baris 2, kolom 1 = 30
Baris 2, kolom 2 = 40

  Input Matriks B
-------------------
Baris 1, kolom 1 = 75
Baris 1, kolom 2 = 90
Baris 2, kolom 1 = 20
Baris 2, kolom 2 = 45

Matriks A:
 10  20
 30  40

Matriks B:
 75  90
 20  45

Matriks A + Matriks B:
 85 110
 50  85

Tips Membuat Kode Program Penambahan Matriks 2 x 2

Soal ini melatih pemahaman tentang array 2 dimensi dan perulangan bersarang (nested loop). Berikut tutorial pendahuluan yang bisa diikuti:

Mengutip wikipedia, matriks adalah susunan bilangan, simbol, atau ekspresi yang disusun dalam baris dan kolom sehingga membentuk suatu bangun persegi.

Kita perlu perulangan bersarang (nested loop) dalam kode program ini. Baik untuk proses input dan proses menampilkan nilai matriks. Operasi penambahan matriks dilakukan dengan menjumlahkan komponen-komponennya yang seletak, misalnya baris 1 kolom 1 di matriksA + baris 1 kolom 1 di matriksB.

Silahkan coba rancang sebentar kode programnya.


Kode Program C++ Penambahan Matriks 2 x 2 (statis)

Berikut salah satu solusi dari soal membuat penambahan matriks 2×2 dalam bahasa pemrograman C++ (versi statis, matriks ditulis langsung dari dalam kode program):

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
  cout << "##  Program C++ Penambahan Matriks 2x2  ##" << endl;
  cout << "==========================================" << endl;
  cout << endl;

  int matriksA[2][2], matriksB[2][2], i, j;

  // isi elemen matriksA
  matriksA[0][0] = 5;
  matriksA[0][1] = 10;
  matriksA[1][0] = 15;
  matriksA[1][1] = 20;

  // isi elemen matriksB
  matriksB[0][0] = 11;
  matriksB[0][1] = 22;
  matriksB[1][0] = 33;
  matriksB[1][1] = 44;

  // tampilkan isi matriksA
  cout << "Matriks A: " << endl;
  for(i = 0; i < 2 ; i++){
    for(j = 0; j < 2; j++){
      cout << setw(3) << matriksA[i][j] << " ";
    }
    cout << endl;
  }
  cout << endl;

  // tampilkan isi matriksB
  cout << "Matriks B: " << endl;
  for(i = 0; i < 2 ; i++){
    for(j = 0; j < 2; j++){
      cout << setw(3) << matriksB[i][j] << " ";
    }
    cout << endl;
  }
  cout << endl;

  // hasil matriksA + matriksB
  cout << "Matriks A + Matriks B: " << endl;
  for(i = 0; i < 2 ; i++){
    for(j = 0; j < 2; j++){
      cout << setw(3) << matriksA[i][j] + matriksB[i][j]<< " ";
    }
    cout << endl;
  }

  return 0;
}

Latihan Kode Program Cpp - Penambahan Matriks 2x2 (statis)

Selain header #include <iostream>, di awal kode program juga ada perintah #include <iomanip>. Header ini diperlukan karena nantinya saya akan mengakses perintah setw() untuk merapikan tampilan matriks.

Di baris 12 terdapat deklarasi 4 variabel: matriksA, matriksB, i dan j.

Variabel matriksA dan MatriksB akan dipakai untuk menampung semua element matriks. Karena kita membuat matriks 2×2, variabel ini diset sebagai array dengan perintah matriksA[2][2] dan matriksB[2][2]. Total, terdapat 4 elemen yang bisa ditampung.

Variabel i dan j sendiri disiapkan sebagai variabel counter untuk proses perulangan.

Proses pengisian elemen matriksA dan matriksB dilakukan antara baris 15-24. Harap selalu di ingat bahwa index array mulai dari 0, bukan 1.

Di baris 38-43 terdapat perulangan for untuk menampilkan semua isi elemen matriksA dab matriksB. Ini adalah perulangan bersarang (nested loop), dimana ada perulangan di dalam perulangan.

Perulangan luar dengan variabel counter i dipakai untuk mengakses baris matriks, dimulai dari i = 1 hingga i < 2. Sedangkan perulangan dalam dengan variabel counter j dipakai untuk mengakses kolom matriks. Hal yang sama juga dilakukan untuk matriksB dengan perulangan for di baris 38-42.

Tambahan perintah setw(3) berguna untuk mengatur tampilan angka matriks rata kiri sebanyak 3 digit.

Operasi penambahan matriksA + matriksB dilakukan oleh perulangan for di baris 48-53. Ini juga dilakukan dengan nested loop. Dalam setiap iterasi, jumlahkan element array dengan perintah cout << setw(3) << matriksA[i][j] + matriksB[i][j]<< " ".


Kode Program C++ Penambahan Matriks 2 x 2 (dinamis)

Berikut salah satu solusi dari soal membuat penambahan matriks 2×2 dalam bahasa pemrograman C++ (versi dinamis, nilai elemen matriks akan di input oleh user):

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
  cout << "##  Program C++ Penambahan Matriks 2x2  ##" << endl;
  cout << "==========================================" << endl;
  cout << endl;

  int matriksA[2][2], matriksB[2][2], i, j;

  // proses input elemen matriksA
  cout << "  Input Matriks A  "<< endl;
  cout << "-------------------"<< endl;
  for(i = 0; i < 2 ; i++){
    for(j = 0; j < 2; j++){
      cout << "Baris " <<i+1<<", kolom "<<j+1<< " = ";
      cin >> matriksA[i][j];
    }
  }
  cout << endl;

  // proses input elemen matriksB
  cout << "  Input Matriks B  "<< endl;
  cout << "-------------------"<< endl;
  for(i = 0; i < 2 ; i++){
    for(j = 0; j < 2; j++){
      cout << "Baris " <<i+1<<", kolom "<<j+1<< " = ";
      cin >> matriksB[i][j];
    }
  }
  cout << endl;

  // tampilkan elemen matriksA
  cout << "Matriks A: " << endl;
  for(i = 0; i < 2 ; i++){
    for(j = 0; j < 2; j++){
      cout << setw(3) << matriksA[i][j] << " ";
    }
    cout << endl;
  }
  cout << endl;

  // tampilkan elemen matriksA
  cout << "Matriks B: " << endl;
  for(i = 0; i < 2 ; i++){
    for(j = 0; j < 2; j++){
      cout << setw(3) << matriksB[i][j] << " ";
    }
    cout << endl;
  }
  cout << endl;

  // hasil penambahan matriksA + matriksB
  cout << "Matriks A + Matriks B: " << endl;
  for(i = 0; i < 2 ; i++){
    for(j = 0; j < 2; j++){
      cout << setw(3) << matriksA[i][j] + matriksB[i][j]<< " ";
    }
    cout << endl;
  }

  return 0;
}

Latihan Kode Program Cpp - Penambahan Matriks 2x2 (dinamis)

Untuk versi matriks dinamis, kode programnya sedikit lebih panjang karena kita perlu menambah 2 perulangan for untuk proses input. Selain itu sisa kode program sama seperti di versi statis.


Demikian soal dan jawaban kode program penambahan matriks 2×2 dalam bahasa C++.

Latihan ini masih punya berbagai variasi lain, misalnya membuat perkalian matriks, atau penambahan matriks 3×3. Kode programnya akan kita bahas dalam latihan terpisah.

Add Comment