Script Program :
a. index.php
READ MORE
a. index.php
<?php session_start(); ?>
<h1>TUGAS KOMPUTASI NUMERIK 2</h1>
<form action="index.php"
method="GET">
Jumlah
Persamaan yang digunakan : <br>
<input
type="text" name="jumlah_persamaan"><br>
<input
type="submit" value="Submit">
<hr>
</form>
<?php
if(isset($_GET['jumlah_persamaan'])){
if(
!empty($_GET['jumlah_persamaan'])){
$jumlah_persamaan=
$_GET['jumlah_persamaan'];
buatForm($jumlah_persamaan);
$_SESSION['jumlah_persamaan']=
$jumlah_persamaan;
}else{
echo
'Yang kosong harus diisi';
}
}
function buatForm($jumlah_persamaan){
echo
'<form action="kunci.php" method="GET">';
for($i=0;
$i<$jumlah_persamaan;$i++){
echo
'Persamaan '.$i.': ';
for($j=0;
$j<$jumlah_persamaan+1;$j++){
if($j<$jumlah_persamaan){
echo
'<input type="text" name="var'.$i.$j.'"
size="5">X <sub>'.$j.'</sub>';
}else{
echo
' = <input type="text" name="var'.$i.$j.'"
size="5">';
}
}
echo
'<br>';
}
echo
'<br><input type="submit"
value="Submit"><hr></form>';
}
?>
b.
kunci.php
b. kunci.php
<?php session_start();
session_destroy();?>
<h1>Hasil dalam bentuk matriks</h1>
<?php
$koefisien
= array(array());
if(isset($_SESSION['jumlah_persamaan'])){
$jumlah_persamaan
= $_SESSION['jumlah_persamaan'];
buatArray($jumlah_persamaan);
echo
'<h3>Tampilan Matrik Pertama</h3>';
tampilkanMatrik($koefisien);
ubah($jumlah_persamaan);
kesimpulan($jumlah_persamaan);
}
function
kesimpulan($jumlah_persamaan){
global
$koefisien ;
echo
'Sehingga: ' ;
for($i=0;
$i<$jumlah_persamaan;$i++){
echo
'<br>X<sub>'.$i .'</sub>: ' ;
for($j=0;
$j<$jumlah_persamaan+1;$j++){
if
($j==$jumlah_persamaan){
echo
$koefisien[$i][$j];
}
}
}
}
function
buatArray($jumlah_persamaan){
global
$koefisien ;
for($i=0;
$i<$jumlah_persamaan;$i++){
for($j=0;
$j<$jumlah_persamaan+1;$j++){
if(isset($_GET['var'.$i.$j])){
$koefisien[$i][$j]
= $_GET['var'.$i.$j];
}
}
}
}
function
tampilkanMatrik($koefisien){
echo
'<table border="2">';
$rows
= count($koefisien);
for($i=0;
$i<$rows;$i++){
$cols
= count($koefisien[$i]);
echo
'<tr>';
for($j=0;
$j<$cols;$j++){
echo
'<td>';
echo $koefisien[$i][$j] .'
 ';
echo
'</td>';
}
echo
'</tr>';
}
echo
'</table>';
echo
'<hr>';
}
function
ubah($persamaan){
global $koefisien
;
for($i=0;$i<$persamaan;$i++){
$persamaan_pivot
= $i + 1;
echo 'Persamaan '.$persamaan_pivot.'
menjadi pivot dan ';
$pivot
= $koefisien[$i][$i];
for($j=0;$j<$persamaan+1;$j++){
$koefisien[$i][$j]=$koefisien[$i][$j]/$pivot;
}
for($k=0;$k<$persamaan;$k++){
if($k!=$i){
$pivot
= $koefisien[$k][$i];
for($l=0;$l<$persamaan+1;$l++){
$koefisien[$k][$l]=$koefisien[$k][$l]-$pivot*$koefisien[$i][$l];
}
}
$persamaan_ubah = $k +1
;
echo 'Persamaan '.
$persamaan_ubah .' telah dirubah';
tampilkanMatrik($koefisien);
}
}
}
?>
HASIL:
a. Memasukkan nilai
b. Hasil dalam bentuk matriks
Mesin jaja yang menjual mie
instan seharga Rp.1500,-/buah. Mesin ini menerima masukan uang logam Rp.500,-
dan Rp.1.000,- serta menerima hasil akhir Rp.1.500,-. Mesin ini tidak akan
memberi kembalian jika lebih dari Rp.1.500,-.
Diagram Transisi
READ MORE
Dari dua kondisi
diatas, Tentukan elemen FSA:
•
Himpunan kondisi
•
Himpunan status masukan
•
Fungsi transisi
•
Diagram fungsi transisi
Jawab:
Himpunan simbol : {1000, 500, 0}
Keterangan:
masukan 0 apabila tidak ada masukan koin dalam waktu tertentu.
Himpunan status
berhingga :
-
q0 Ã
saat belum ada uang koin yang dimasukkan
-
q1 Ã
masukan berjumlah 500
-
q2 Ã
masukan berjumlah 1000
-
q3 Ã
masukan berjumlah = 1500 dan mengeluarkan pesanan, kembali ke q0
-
q4 Ã
masukan berjumlah = 2000 dan mengeluarkan pesanan, kembali ke q1
(asumsi
: mesin jaja tidak mengeluarkan kembalian dan apabila dimasukkan 3 buah koin
1000 maka akan keluar dua mie).
Fungsi transisi
Status
|
Masukan
|
||
1000
|
500
|
0
|
|
q0
|
q2
|
q1
|
-
|
q1
|
q3
|
q2
|
q0
|
q2
|
q4
|
q3
|
q0
|
Jawab:
Himpunan kondisi : {1, 3, 6, 8, 12, 1-3,
1-6, 1-8, 1-12, 3-6, 3-8, 3-12, 6-8, 6-12, 8-12}
q0
= Semua masukan berada di sisi B
q1
= Orang dengan waktu 3 detik yang berada di sisi A
q2
= Orang dengan waktu 1 dan 3 detik yang berada di sisi A
q3
= Orang dengan waktu 6 detik yang berada di sisi A
q4
= Orang dengan waktu 1 dan 6 detik yang berada di sisi A.
q5
= Orang dengan waktu 3 dan 6 detik yang berada di sisi A.
q6
= Orang dengan waktu 1, 3 dan 6 detik yang berada di sisi A.
q7
= Orang dengan waktu 8 detik yang berada di sisi A.
q8
= Orang dengan waktu 8 dan 12 detik yang berada di sisi A.
q9
= Orang dengan waktu 3, 8 dan 12 detik yang berada di sisi A.
q10
= Orang dengan waktu 6, 8 dan 12 detik yang berada di sisi A.
q11
= Orang dengan waktu 1, 3, 8 dan 12 detik yang berada di sisi A.
q12
= Orang dengan waktu 1, 6, 8 dan 12 detik yang berada di sisi A
q13
= Orang dengan waktu 3, 6, 8 dan 12 detik yang berada di sisi A.
q14
= Semua masukan berada di sisi A
Fungsi transisi :
Status
|
Masukan
|
||||||||||||||
1
|
3
|
6
|
8
|
12
|
1-3
|
1-6
|
1-8
|
1-12
|
3-6
|
3-8
|
3-12
|
6-8
|
6-12
|
8-12
|
|
q0
|
|
|
|
|
|
q2
|
q4
|
|
|
|
|
|
|
|
|
q1
|
|
|
|
|
|
|
q6
|
|
|
|
|
|
|
|
q9
|
q2
|
q1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
q3
|
|
|
|
|
|
q6
|
|
|
|
|
|
|
|
|
|
q4
|
q3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
q5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
q13
|
q6
|
q5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
q7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
q8
|
|
|
|
|
|
|
q12
|
|
|
|
|
|
|
|
|
q9
|
|
q8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
q10
|
|
|
|
|
|
q14
|
|
|
|
|
|
|
|
|
|
q11
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
q12
|
q10
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
q13
|
|
Q10
|
|
|
|
|
|
|
|
|
|
|
|
|
|
q14
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Diagram transisi:
Fungsi transisi yang kemudian dirancang ke dalam diagram
transisi adalah cara pertama (warna merah muda) dan cara ketiga (warna kuning).
Perhatikan
diagram berikut: