Pengimplementasian Tranpose Matrik dalam Pemrograman (C++)

Oleh Devi Mulyana (1227050035) - Teknik Informatika UIN Sunan Gunung Djati Bandung

Jangbe
3 min readDec 20, 2022

Deskripsi Umum

Tentunya kita sudah mengenal tentang matriks dan transpose matriks. Matriks adalah sekumpulan bilangan yang disusun berdasarkan baris dan kolom, serta ditempatkan di dalam tanda kurung. Nah, tanda kurungnya ini bisa berupa kurung biasa “( )” atau kurung siku “[ ]”. Sedangkan transpose matriks adalah sebuah matriks hasil dari merubah baris menjadi kolom dan kolom menjadi baris dari matriks itu sendiri. Dalam dunia pemrograman, pengimplementasian dari matriks adalah dengan menggunakan array, lebih tepatnya dengan array 2 dimensi.

Array (larik) ialah sekumpulan variabel-variabel yang memiliki nama dan tipe data yang sama satu dengan lainnya. Juga bisa diartikan sebagai sekelompok data sejenis yang tersimpan di dalam variabel dengan nama sama. maka dari itu Untuk dapat membedakan antara array satu dengan lainnya dapat dengan memberikan indeks pada masing-masing variable tersebut. Ilustrasi nya sebagai berikut:

Gambar 1. Array 1 dimensi.

Seperti yang sudah disebutkan sebelumnya, pengimplementasian matriks dalam pemrograman yaitu dengan menggunakan array 2 dimensi, karena pada array 2 dimensi terdapat baris dan kolom sama hal nya dengan matriks yang mempunyai baris dan kolom. Ilustrasinya sebagai berikut :

Gambar 2. Array 2 dimensi.

Array 2 dimensi adalah sebutan untuk array yang penomoran index-nya menggunakan 2 buah angka, atau bisa kita sebut array didalam array. Lalu untuk melakukan transpose pada array 2 dimensi cukup mudah teman-teman, langsung saja skuy kita ke contoh syntaxnya yaitu sebagai berikut:

int matriks[2][3] = {
{1, 2, 3},
{1, 2, 3},
}
cout<<"Sebelum diubah : \n";
for(int i = 0; i < 2; i++){
for(int a = 0; a < 3; a++){
cout<<matriks[i][a]<<"\t";
}
cout<<endl;
}
int transpose[3][2];
for(int i = 0; i < 3; i++){
for(int a = 0; a < 2; a++){
transpose[i][a] = numbers[a][i];
}
}
cout<<"Setelah diubah (Transpose) : \n";
for(int i = 0; i < 3; i++){
for(int a = 0; a < 2; a++){
cout<<transpose[i][a]<<"\t";
}
cout<<endl;
}

Penjelasan pada contoh program diatas yaitu sebagai berikut:

  1. pada baris ke 1–4 yaitu membuat array 2 dimensi dengan jumlah baris 2 dan kolumnya 3.
  2. pada baris ke 5–11 yaitu menampilkan isi array nya dengan looping (menampilkan matriksnya).
  3. pada baris ke 12 yaitu membuat array 2 dimensi baru dengan jumlah baris 3 dan kolomnya 2 (balikan jumlah baris dan kolom pada array yang pertama) untuk menampung data dari array pertama yang akan di transpose.
  4. pada baris ke 13–17 yaitu proses transpose. Dengan membalikan indeks kolom dengan baris dan disimpan pada array “transpose” yang sudah dibuat pada baris ke 12.
  5. pada baris ke 18–24 yaitu menampilkan isi array “transpose” atau hasil dari array pertama yang sudah dibalikan kolom dengan barisnya.

Untuk full source code nya dilampirkan dibawah ini dengan membuat matriks nya menjadi dinamis atau bisa user inputkan sendiri jumlah baris dan kolom nya serta isi matriks nya.

Source Code

#include <iostream>

using namespace std;

int main(){
int row, column;
cout<<"Masukan jumlah baris : ";
cin>>row;
cout<<"Masukan jumlah kolom : ";
cin>>column;

int matriks[row][column];
for(int i = 0; i < row; i++){
for(int a = 0; a < column; a++){
cout<<"Masukan angka ("<<i<<"."<<a<<") : ";
cin>>matriks[i][a];
}
}
cout<<endl<<"\nSebelum diubah : \n";
for(int i = 0; i < row; i++){
for(int a = 0; a < column; a++){
cout<<matriks[i][a]<<"\t";
}
cout<<endl;
}

cout<<endl<<"\nSetelah diubah (transpose) : \n";
int transpose[column][row];
for(int i = 0; i < column; i++){
for(int a = 0; a < row; a++){
transpose[i][a] = matriks[a][i];
}
}
for(int i = 0; i < column; i++){
for(int a = 0; a < row; a++){
cout<<transpose[i][a]<<"\t";
}
cout<<endl;
}

return 0;
}

Output

Berikut adalah tampilan dari source code apabila dirun :

Gambar 3. Output dari source.

--

--

Jangbe
0 Followers

Seorang manusia biasa yang ingin menjadi programmer