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.




Tidak ada komentar:

Posting Komentar