Operasi pada matriks ordo 2 x 2 menggunakan bahasa c

Pada tutorial kali ini kita akan membahas tentang penggunaan array 2 dimensi untuk implementasi operasi matriks dalam bahasa c.

Pada program c dan video kali ini, akan dijelaskan bagaimana menggunakan array untuk operasi matriks. operasi perhitungan matriks yang dilakukan adalah sebagai berikut:

Penjumlahan,

Perkalian,

Pengurangan,

Pembagian.

video pembuatannya ada di bawah ini

Untuk lebih jelasnya, silahkan perhatikan penjelasan code dibawah ini.

Laporan Praktikum TMD02 Algoritma dan Struktur
Data dengan C

NIM/ No. Reg.

:

49013035

Nama

:

Wayan Widya Artana

Email

:

wayanwidyaartana@yahoo.co.id

Laporan

:

Tugas 6

Coding 1

Source Code:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

#include <stdio.h>

#include <stdlib.h> 

void jumlah(float ar1[2][2],float ar2[2][2], float ar3[2][2]){

       int i,j;

       for(i=0;i<2;i++)

              for(j=0;j<2;j++)

                     ar3[i][j] = ar1[i][j] + ar2[i][j];

}

void kurang(float ar1[2][2],float ar2[2][2], float ar3[2][2]){

       int i,j;

       for(i=0;i<2;i++)

              for(j=0;j<2;j++)

                     ar3[i][j] = ar1[i][j] – ar2[i][j];

}

void kali(float ar1[2][2],float ar2[2][2], float ar3[2][2]){

       int i,j,k;

       for(i=0;i<2;i++)

              for(j=0;j<2;j++){

                     ar3[i][j] = 0;

                     for(k=0;k<2;k++)

                           ar3[i][j] = ar3[i][j] +(ar1[i][k] * ar2[k][j]);

              }

}

 

int main(){

       float ar1[2][2], ar2[2][2], ar3[2][2],det,ari[2][2];

       int i,j,k,pilihan;

       char op;

       printf(“PERHITUNGAN MATRIKS\n”);

       printf(“[1]Penjumlahan\n”);

       printf(“[2]Pengurangan\n”);

       printf(“[3]Perkalian\n”);

       printf(“[4]Pembagian\n”);

       printf(“[0]Keluar\n”);

       printf(“\n”);

       printf(“Masukkan Pilihan : “);scanf(“%d”,&pilihan);

       for(i=0;i<2;i++)

              for(j=0;j<2;j++){

                     printf(“A%d%d>>”,i+1,j+1);scanf(“%f”,&ar1[i][j]);

              }

 

       for(i=0;i<2;i++)

              for(j=0;j<2;j++){

                     printf(“B%d%d>>”,i+1,j+1);scanf(“%f”,&ar2[i][j]);

              }

 

       switch(pilihan){

       case 1:{

              jumlah(ar1,ar2,ar3);

              op = ‘+’;

                 break;

                 }

       case 2:{

              kurang(ar1,ar2,ar3);

              op = ‘-‘;

                 break;

                 }

       case 3:{

              kali(ar1,ar2,ar3);

              op = ‘*’;

                 break;

                 }

       case 4:{

              //mencari determinan matriks pembagi

              det = (ar2[0][0] * ar2[1][1]) – (ar2[0][1] * ar2[1][0]);

              //mencari inverse matriks pembagi

              ari[0][0] = (1/det) * ar2[1][1];

              ari[0][1] = (1/det) * (-ar2[0][1]);

              ari[1][0] = (1/det) * (-ar2[1][0]);

              ari[1][1] = (1/det) * (ar2[0][0]);

             

              kali(ar1,ari,ar3);

 

              op = ‘/’;

                 break;

                 }

       default:{

              break;

       }

       }

       printf(“\n”);

       printf(“%.2f %.2f\t%.2f %.2f\t%.2f %.2f\n”,ar1[0][0],ar1[0][1],ar2[0][0],ar2[0][1],ar3[0][0],ar3[0][1]);

       printf(
%c              = \n”
,op);

       printf(“%.2f %.2f\t%.2f %.2f\t%.2f %.2f\n”,ar1[1][0],ar1[1][1],ar2[1][0],ar2[1][1],ar3[1][0],ar3[1][1]);

       printf(“\n”);

 

       system(“pause”);

       return 0;

}

Deskripsi singkat:

Program diatas adalah program yang
dapat digunakan untuk operasi matrik diantaranya adalah penjumlahan,
pengurangan, perkalian, dan pembagian 2 buah matriks. Dimana pengguna dapat
menginputkan value dari masing-masing nilai array ordo 2 kali 2 yang nantinya
akan dioperasikan.

Pada baris 4 sampai 9 adalah baris
fungsi untuk melakukan pemjumlahan matriks, dengan melakukan perulangan
sebanyak elemen matriks yang ada, dan menjumlahkan elemen matrik yang
memiliki indeks yang sama. Dalam operasi penjumlahan tersebut, fungsi
menerima parameter inputan 3 buah array dimana array pertama dan kedua adalah
array yang akan dijumlahkan dan array ke 3 adalah array yang akan menampung
nilai dari hasil perkalian matriks tersebut. Hampir sama dengan fungsi ke
penjumlahan, pada baris ke 11 sampai 16, terdapat baris fungsi untuk
mengurakan 2 buah matriks yang hanya berbeda operator menggunakan tanda –
untuk mengurangkan.

 Pada baris 18 sampai 26, terdapat baris
perintah untuk mengalikan 2 buah matriks yang hamper sama dengan fungsi pada
penjumlahan matriks. Akan tetapi fungsinya disini sesuai dengan algoritma
perkalian matriks, menggunakan 3 buah perulangan untuk mengalikan matriks.

Baris 29 adalah baris untuk
mendeklarasikan matriks yang diperlukan untuk perhitungan nantinya. Baris 30
dan 31, mendeklarasikan variable lain seperti i,j,k
yang nantinya berguna pada saat perulangan. Baris 33 sampai 40, program
memberikan petunjuk kepada pengguna untuk memilih operasi matriks yang ingin
dilakukan. Kemudian dengan fungsi scanf(), program
menerima pilihan pengguna dan melakukan perhitungn sesuai dengan keinginan
pengguna, dengan memanfaatkan fungsi switch pada baris ke 52 dengan parameter
pilihan user.

Sebelumnya pada baris ke 42 sampai 50
program menerima inputan pengguna untuk masing-masing elemen dari matriks
yang akan dioperasikan. Program memanfaatkan perulangan agar code tidak terlalu
panjang. Matriks yang digunakan disini adalah matriks dengan ordo 2×2
sehingga perulangan dapat ditentuka dengan lebih mudah.

Kemudian sesuai dengan pilihan
pengguna, maka program melakukan perhitungan operasi matriks. Untuk penjumlahan,
pengurangan, dan perkalian, program langsung memanggil prosedur yang
sebelumnya telah dibuat di atas main dari program. Akan tetapi, jika pilihan
pengguna 4, maka program akan terlebih dahulu mencari determinan matriks
pembagi (pada baris ke 70) dan mencari inverse dari matriks pembagi (pada
baris ke 72 sampai 75), sesuai dengan rumus matriks yang diperlukan. Akan tetapi
jika pengguna memilih selain dari pilihan yang ditentukan, program tidak akan
melakukan perhitungan matriks, melainkan akan keluar. Pada baris 86 sampai 92
program mengoutputkan perhitungan matriks sesuai dengan ketentuan soal,
dengan memanggil isi dari masing-masing elemen dari array yang dioperasikan
dan hasilnya. Sementara untuk merapikan tampilan maka program menggunakan \t
dan spasi agar tampilan lebih rapi.

–>


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s