Eliminasi Gauss-Jordan pada Komputasi Numerik Menggunakan PHP

Posted by mahfuz On Kamis, 07 Maret 2013 0 komentar
Script Program :

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] .'&nbsp; &nbsp';
                                    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







READ MORE

Mie Instant pada Mesin Jaja

Posted by mahfuz On Senin, 04 Februari 2013 0 komentar
 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,-.


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

                     Diagram Transisi











READ MORE

Solusi Game Family Crisis

Posted by mahfuz On 0 komentar

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:









READ MORE