Tutorial Bahasa C/C++: Array 2-Dimensi dan Program Transpose Matrik


Matrik 2-dimensi dapat direpresentasikan dalam program menggunakan array 2-dimensi. Deklarasi array dalam bahasa C tidaklah sulit. Perhatikan program berikut ini:

int i, j;
int matrix[3][3], transpose[3][3];

Variabel matrix dan transpose adalah variabel array 2-dimensi dengan jumlah baris dan kolom sebanyak 3. Kedua variabel ini merepresentasikan matrik 2-dimensi dengan ordo 3×3 yang masing-masing memiliki 9 elemen matrik.

Untuk mengakses masing-masing elemen caranya adalah sebagai berikut.

matrix[0][0] = 1;
matrix[1][1] = 1;
matrix[2][2] = 1;
transpose[1][2] = matrix[2][1]

Baris pertama dari program di atas mengisi elemen matrix[0,0] dengan nilai 1. Baris kedua mengisi elemen matrix[1,1] dengan nilai 1. Dan baris ketiga mengisi elemen matrix[3,3] dengan nilai 1. Ketiga baris tersebut membentuk matrix menjadi sebuah matrik identitas. Baris keempat mengisi elemen matrik transpose[1,2] dengan elemen matrik matrix[2,1].

Untuk lebih memperjelas penggunaan array 2-dimensi dalam perhitungan matrik, berikut adalah kode program yang bertujuan melakukan perhitungan untuk menghasilkan matrik transpose dari sebuah matrik berordo 3×3.

/*
    Program Transpose Matrix 3×3
    Chandra MDE – Teknik Elektro Links
    http://teknikelektrolinks.com
*/

#include<stdio.h>
int main()
{
    int i, j;
    int matrix[3][3], transpose[3][3];

    printf("Masukkan elemen matrix A[3×3]\n");
    for (i=0; i<3; i++)
    {
        for (j=0; j<3; j++)
        {
            printf("M[%d,%d] = ", i+1, j+1);
            scanf("%d", &matrix[i][j]);
        }
    }

    /* TRANSPOSE –> baris jadi kolom dan sebaliknya */
    for (i=0; i<3; i++)
    {
        for (j=0; j<3; j++)
        {
            transpose[j][i] = matrix[i][j];
        }
    }
    /* TAMPILKAN MATRIK A */
    printf("\nMatrik A[3×3]\n");
    for (i=0; i<3; i++)
    {
        for (j=0; j<3; j++)
        {
            printf("%5d", matrix[i][j]);
        } 
        printf("\n");
    }
    /* TAMPILKAN TRANSPOSE MATRIK A */
    printf("Transpose Matrik A[3×3]\n");
    for (i=0; i<3; i++)
    {
        for (j=0; j<3; j++)
        {
            printf("%5d", transpose[i][j]);
        } 
        printf("\n");
    }
}

Setelah deklarasi variabel i, j, matrix, dan transpose, program meminta kepada user untuk memasukkan nilai-nilai dari elemen-elemen matrik.

Setelah itu, program akan menghitung transpose dari matrix sebagai berikut:

/* TRANSPOSE –> baris jadi kolom dan sebaliknya */
    for (i=0; i<3; i++)
    {
        for (j=0; j<3; j++)
        {
            transpose[j][i] = matrix[i][j];
        }
    }

Perhitungan transpose matrik hanyalah menukar posisi baris menjadi kolom dan sebaliknya.

Setelah perhitungan transpose, program akan menampilkan matrik asli dan matrik transpose-nya. Berikut adalah screenshot dari program di atas.

image

Program di atas ditulis dan dijalankan pada program ChSciTE yakni sebuah IDE freeware untuk Ch (interpreter C/C++) buatan SoftIntegration.

Semoga bermanfaat dan selamat belajar!

🙂

4 comments

  1. arief · Oktober 15, 2012

    Makasih….

    • Chandra MDE · Oktober 15, 2012

      Terima kasih kembali. Semoga bermanfaat.

  2. Aliefha · Maret 30, 2013

    terima kasih ^_^ sangaaaat bermanfaat sekali penjelasannya😀😀

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s