Kamis, 18 April 2019

Invers Matriks dengan metode Adjoint

Berikut ini saya memberikan Contoh dan Source Code program menggunakan PHP untuk menghitung Matriks dengan metode Adjoint dan menggunakan ordo 3x3.

Berikut adalah Source Code program PHP.
<h3>Matriks 3 x 3</h3>
<tr>
<td><center>-8</center></td>
<td><center>-8</center></td>
<td><center>-9</center></td>
</tr>
<tr>
<td><center>-1</center></td>
<td><center>-9</center></td>
<td><center>1</center></td>
</tr>
<tr>
<td><center>-2</center></td>
<td><center>3</center></td>
<td><center>6</center></td>
</tr>
</table>
<br>

<?php

$elemen = [-8, -8, -9, -1, -9, 1, -2, 3, 6];

// Determinan
$determinan_satu   = ($elemen[0] * $elemen[4] * $elemen[8]) + ($elemen[1] * $elemen[5] * $elemen[6]) + ($elemen[2] * $elemen[3] * $elemen[7]);
$determinan_dua    = ($elemen[2] * $elemen[4] * $elemen[6]) + ($elemen[0] * $elemen[5] * $elemen[7]) + ($elemen[1] * $elemen[3] * $elemen[8]);
$result_determinan = $determinan_satu - $determinan_dua;

// Minor
$minor_sebelas   = ($elemen[4] * $elemen[8]) - ($elemen[5] * $elemen[7]);
$minor_duabelas  = (-1*(($elemen[3] * $elemen[8]) - ($elemen[5] * $elemen[6])));
$minor_tigabelas = ($elemen[3] * $elemen[7]) - ($elemen[4] * $elemen[6]);

$minor_duasatu = (-1*(($elemen[1] * $elemen[8]) - ($elemen[2] * $elemen[7])));
$minor_duadua  = ($elemen[0] * $elemen[8]) - ($elemen[2] * $elemen[6]);
$minor_duatiga = (-1*(($elemen[0] * $elemen[7]) - ($elemen[1] * $elemen[6])));

$minor_tigasatu = ($elemen[1] * $elemen[5]) - ($elemen[2] * $elemen[4]);
$minor_tigadua  = (-1*(($elemen[0] * $elemen[5]) - ($elemen[2] * $elemen[3])));
$minor_tigatiga = ($elemen[0] * $elemen[4]) - ($elemen[1] * $elemen[3]);

$minor = [
'minor_satu' => [$minor_sebelas, $minor_duabelas, $minor_tigabelas],
'minor_dua'  => [$minor_duasatu, $minor_duadua, $minor_duatiga],
'minor_tiga' => [$minor_tigasatu, $minor_tigadua, $minor_tigatiga]
];

// Adjoin
$adjoin = [
'join_satu' => [$minor['minor_satu'][0], $minor['minor_dua'][0], $minor['minor_tiga'][0]],
'join_dua'  => [$minor['minor_satu'][1], $minor['minor_dua'][1], $minor['minor_tiga'][1]],
'join_tiga' => [$minor['minor_satu'][2], $minor['minor_dua'][2], $minor['minor_tiga'][2]]
];

// Invers
$invers_bagi            = 1 / $result_determinan;
$elemen_invers_satu     = $adjoin['join_satu'][0] / $result_determinan;
$elemen_invers_dua      = ($adjoin['join_satu'][1] * -1) / $result_determinan;
$elemen_invers_tiga     = ($adjoin['join_satu'][2]  * -1) / $result_determinan;
$elemen_invers_empat    = ($adjoin['join_dua'][0]  * -1) / $result_determinan;
$elemen_invers_lima     = $adjoin['join_dua'][1] / $result_determinan;
$elemen_invers_enam     = $adjoin['join_dua'][2] / $result_determinan;
$elemen_invers_tujuh    = $adjoin['join_tiga'][0] / $result_determinan;
$elemen_invers_delapan  = ($adjoin['join_tiga'][1] * -1) / $result_determinan;
$elemen_invers_sembilan = ($adjoin['join_tiga'][2]  * -1) / $result_determinan;
$result_invers          = [
'invers_satu' => [$elemen_invers_satu, $elemen_invers_dua, $elemen_invers_tiga],
'invers_dua'  => [$elemen_invers_empat, $elemen_invers_lima, $elemen_invers_enam],
'invers_tiga' => [$elemen_invers_enam, $elemen_invers_tujuh, $elemen_invers_delapan]
];

echo "Determinan |A| = ".$result_determinan."<br><br>";
echo "Minor =
<table border='1' width='20%' cellpading='10' cellspacing='0'>
<tr>
<td><center>".$minor['minor_satu'][0]."</center></td>
<td><center>".$minor['minor_satu'][1]."</center></td>
<td><center>".$minor['minor_satu'][2]."</center></td>
</tr>
<tr>
<td><center>".$minor['minor_dua'][0]."</center></td>
<td><center>".$minor['minor_dua'][1]."</center></td>
<td><center>".$minor['minor_dua'][2]."</center></td>
</tr>
<tr>
<td><center>".$minor['minor_tiga'][0]."</center></td>
<td><center>".$minor['minor_tiga'][1]."</center></td>
<td><center>".$minor['minor_tiga'][2]."</center></td>
</tr>
</table>
<br>";
echo "Kofaktor =
<table border='1' width='20%' cellpading='10' cellspacing='0'>
<tr>
<td><center>".$minor['minor_satu'][0]."</center></td>
<td><center>".$minor['minor_satu'][1]."</center></td>
<td><center>".$minor['minor_satu'][2]."</center></td>
</tr>
<tr>
<td><center>".$minor['minor_dua'][0]."</center></td>
<td><center>".$minor['minor_dua'][1]."</center></td>
<td><center>".$minor['minor_dua'][2]."</center></td>
</tr>
<tr>
<td><center>".$minor['minor_tiga'][0]."</center></td>
<td><center>".$minor['minor_tiga'][1]."</center></td>
<td><center>".$minor['minor_tiga'][2]."</center></td>
</tr>
</table>
<br>";
echo "Adjoin =
<table border='1' width='20%' cellpading='10' cellspacing='0'>
<tr>
<td><center>".$adjoin['join_satu'][0]."</center></td>
<td><center>".$adjoin['join_satu'][1]."</center></td>
<td><center>".$adjoin['join_satu'][2]."</center></td>
</tr>
<tr>
<td><center>".$adjoin['join_dua'][0]."</center></td>
<td><center>".$adjoin['join_dua'][1]."</center></td>
<td><center>".$adjoin['join_dua'][2]."</center></td>
</tr>
<tr>
<td><center>".$adjoin['join_tiga'][0]."</center></td>
<td><center>".$adjoin['join_tiga'][1]."</center></td>
<td><center>".$adjoin['join_tiga'][2]."</center></td>
</tr>
</table>
<br>";
echo "Invers =
<table border='1' width='20%' cellpading='10' cellspacing='0'>
<tr>
<td><center>".$result_invers['invers_satu'][0]."</center></td>
<td><center>".$result_invers['invers_satu'][1]."</center></td>
<td><center>".$result_invers['invers_satu'][2]."</center></td>
</tr>
<tr>
<td><center>".$result_invers['invers_dua'][0]."</center></td>
<td><center>".$result_invers['invers_dua'][1]."</center></td>
<td><center>".$result_invers['invers_dua'][2]."</center></td>
</tr>
<tr>
<td><center>".$result_invers['invers_tiga'][0]."</center></td>
<td><center>".$result_invers['invers_tiga'][1]."</center></td>
<td><center>".$result_invers['invers_tiga'][2]."</center></td>
</tr>
</table>
<br>";

?>

Dan berikut ini adalah hasilnya.




Rabu, 20 Maret 2019

Materi Matriks

Matriks adalah sekumpulan bilangan yang disusun secara baris dan kolom dan ditempatkan pada kurung biasa atau kurung siku.

Penulisan matriks:
atau
Ordo suatu matriks adalah bilangan yang menunjukkan banyaknya baris (m) dan banyaknya kolom (n).
 Matriks di atas berordo 3x2.

Matriks Identitas (I)

Matriks identitas (I)adalah matriks yang nilai-nilai elemen pada diagonal utama selalu 1.

Matriks Transpose (At)

Matriks transpose adalah matriks yang mengalami pertukaran elemen dari baris menjadi kolom dan sebaliknya. Contoh:
maka matriks transposenya (At) adalah 

Operasi perhitungan pada matriks

Kesamaan 2 matriks

2 matriks dikatakan sama jika ordonya sama dan elemen yang seletak sama.
Contoh: 
Tentukan nilai 2x-y+5z!
Jawab:
 maka 
 maka 
 maka 

Penjumlahan matriks

2 matriks bisa dijumlahkan jika ordonya sama dan penjumlahan dilakukan dengan cara menjumlahkan elemen yang seletak.
Contoh: 

Pengurangan matriks

2 matriks bisa dikurangkan jika ordonya sama dan pengurangan dilakukan dengan cara mengurangkan dari elemen yang seletak.
Contoh: 

Perkalian bilangan dengan matriks

Contoh:

Perkalian matriks

2 Matriks dapat dikalikan jika jumlah baris matriks A = jumlah kolom matriks B.
Penghitungan perkalian matriks:
Misalkan:
 dan 
maka 
Contoh:

Determinan Suatu Matriks


Matriks ordo 2x2


Misalkan:


maka Determinan A (ditulis  ) adalah:


Matriks ordo 3x3


Cara Sarrus


Misalkan:

Jika  maka tentukan !
Penghitungan matriks dilakukan dengan cara menambahkan elemen dari kiri atas ke kanan bawah (mulai dari a → e → i, b → f → g, dan c → d → h) lalu dikurangi dengan elemen dari kanan atas ke kiri bawah (mulai dari c → e → g, a → f → h, dan b → d → i) sehingga menjadi:
Contoh:
 maka tentukan !

Cara ekspansi baris-kolom

Misalkan:
Jika  maka tentukan  dengan ekspansi baris pertama!



Sumber : id.wikibooks.org