Advertisement
Guest User

simulated_annealing_view_jadwal_ruangan.php

a guest
Aug 6th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.91 KB | None | 0 0
  1. <?php
  2.  
  3. require_once "algoritma_sa.php";
  4. // require_once "../fungsiGlobal.php";
  5.  
  6. $displayError ='display: none';
  7. $displaySuccess = false;
  8. $defineOperasiJantung = 'Operasi Jantung';
  9. $defineNamaRuanganJantung = 'Ruang Operasi Jantung';
  10.  
  11. $jdJumlahOperasiQuery = $db->fetch_all("tbl_jadwal ORDER BY id_jadwal ASC");
  12.  
  13. $jdJumlahOperasi = [];
  14. $jumlahRuangOperasi= [];
  15. $idRuangan = [];
  16. foreach ($jdJumlahOperasiQuery as $key => $value) {
  17. $jdJumlahOperasi[] = $value;
  18. $jumlahRuangOperasi[$value->id_ruangan][] = $value->id_ruangan;
  19. $idRuangan[] = $value->id_ruangan;
  20. $operasi[] = $value->nama_operasi;
  21. $tanggalMasukArr[] = $value->tanggal_masuk;
  22. $jamMasukArr[] = $value->jam_masuk;
  23. $jamKeluarArr[] = $value->jam_keluar;
  24. $totalHargaArr[] = $value->total_harga;
  25. $arrayIdRuangan[$value->id_ruangan] = $value->id_ruangan;
  26. $hasilQuery[] = $value;
  27. }
  28.  
  29. $jumlahRuangOperasi = count($jumlahRuangOperasi);
  30. $jumlahOperasi = count($jdJumlahOperasi);
  31. $maxIterasi = 100000;
  32. $suhuSekarang = 10000;
  33. $idRuangan = array_values($idRuangan);
  34. $namaRuangan = array_values($namaRuangan);
  35. $operasi = array_values($operasi);
  36.  
  37. $data = array();
  38. $i = 0;
  39. foreach ($hasilQuery as $key => $value) {
  40. $j = 0;
  41. foreach ($hasilQuery as $key2 => $value2) {
  42. if ($value->id_ruangan > $value2->id_ruangan) {
  43. $data[$value->id_ruangan][] = floatval($value->durasi);
  44. } else {
  45. $data[$value->id_ruangan][] = floatval($value->durasi);
  46. }
  47.  
  48. break;
  49. }
  50. $j++;
  51.  
  52. if ($j > $jumlahRuangOperasi) {
  53. $j = 0;
  54. }
  55. }
  56.  
  57. $data = array_values($data);
  58.  
  59. // Hitung biar sama dengan hasil data2 disini
  60. // cuman logiknya baru dapat maksimal 4 jadwal
  61. $hasil = [];
  62. foreach($data as $key => $value) {
  63. if (count($value) <= count($operasi)) {
  64. $cc = count($operasi) - count($value);
  65.  
  66. if ($key == 0) {
  67. $hasil[$key] = $value;
  68. for ($i=0; $i < $cc;$i++) {
  69. array_push($hasil[$key], 0);
  70. }
  71. } elseif ($key == 1) {
  72. $hasil[$key][] = 0;
  73. if (!empty($value[0])) {
  74. $hasil[$key][] = $value[0];
  75. } else {
  76. array_push($hasil[$key], 0);
  77. }
  78. if (!empty($value[1])) {
  79. $hasil[$key][] = $value[1];
  80. } else {
  81. array_push($hasil[$key], 0);
  82. }
  83. if (!empty($value[2])) {
  84. $hasil[$key][] = $value[2];
  85. } else {
  86. array_push($hasil[$key], 0);
  87. }
  88. // if (!empty($value[3])) {
  89. // $hasil[$key][] = $value[3];
  90. // } else {
  91. // array_push($hasil[$key], 0);
  92. // }
  93. // for ($i=0; $i < $cc;$i++) {
  94. // array_push($hasil[$key], 0);
  95. // }
  96. } elseif ($key == 2 || $key == 3 || $key == 4) {
  97. $hasil[$key][] = 0;
  98. $hasil[$key][] = 0;
  99. $hasil[$key][] = $value[0];
  100. $hasil[$key][] = $value[1];
  101. // $hasil[$key][] = $value[2];
  102. for ($i=2; $i < $cc;$i++) {
  103. array_push($hasil[$key], 0);
  104. }
  105. } else {
  106. $hasil[$key][] = 0;
  107. $hasil[$key][] = 0;
  108. $hasil[$key][] = $value;
  109. }
  110. }
  111. }
  112.  
  113. // var_dump($hasil);
  114.  
  115. $data2 = array (
  116. array(7.5, 0, 0, 0),
  117. array(0, 1.5, 0, 0),
  118. array(0, 0, 3.5, 2.5),
  119. );
  120. // exit;
  121.  
  122. $dari_view_jadwal_ruang = true;
  123. $generate = generate($hasil,
  124. $jumlahRuangOperasi,
  125. $jumlahOperasi,
  126. $operasi,
  127. $maxIterasi,
  128. $suhuSekarang,
  129. $idRuangan, $namaRuangan, $tanggalMasukArr, $jamMasukArr, $jamKeluarArr, $totalHargaArr,
  130. $dari_view_jadwal_ruang
  131. );
  132.  
  133. // var_dump($hasil);
  134. // var_dump($data);
  135. // var_dump($data2);
  136. // exit;
  137. // var_dump($generate);
  138. ?>
  139.  
  140. <!-- Hasil Perhitungan -->
  141. <div class="row">
  142. <div class="col-xs-12">
  143. <div class="box">
  144. <div class="box-header">
  145. <h3 class="box-title">Hasil Proses Optimal</h3>
  146. </div>
  147. <!-- /.box-header -->
  148. <div class="box-body table-responsive">
  149. <b>
  150. <p>Total Iterasi
  151. <?= $generate['totalIterasi'] ?>
  152. </p>
  153. </b>
  154. <table id="dtb_jadwal_ruangan" class="table table-bordered table-striped">
  155. <thead>
  156. <tr>
  157. <th>No</th>
  158. <th>Nama Ruangan</th>
  159. <th>Nama Operasi</th>
  160. <th>Tanggal Masuk</th>
  161. <th>Jam Masuk</th>
  162. <th>Jam Keluar</th>
  163. <th>Durasi</th>
  164. <th>Total Harga</th>
  165. </tr>
  166. </thead>
  167. <tbody>
  168. <?php
  169. $no = 1;
  170. foreach ($generate['result'] as $key => $dataTableJadwal) {
  171. // if (!empty($dataTableJadwal['tanggal_masuk']) && !empty($dataTableJadwal['jam_masuk']) && !empty($dataTableJadwal['jam_keluar'])) {
  172. ?>
  173.  
  174. <tr>
  175. <td>
  176. <?php echo $no ?> </td>
  177. <td>
  178. <?php
  179. // query untuk dapat nama ruangan
  180. $servername = "localhost";
  181. $username = "guest";
  182. $password = "guest";
  183. $dbname = 'yarsi_kamal';
  184.  
  185. $conn = new mysqli($servername, $username, $password, $dbname);
  186. // Check connection
  187. if ($conn->connect_error) {
  188. die("Connection failed: " . $conn->connect_error);
  189. }
  190.  
  191. $sql = "SELECT nama_ruangan FROM tbl_ruangan WHERE id_ruangan=" . $dataTableJadwal['id_ruangan'];
  192. $result = $conn->query($sql);
  193.  
  194. if ($result->num_rows > 0) {
  195. // output data of each row
  196. while($row = $result->fetch_assoc()) {
  197. echo $row['nama_ruangan'];
  198. }
  199. } else {
  200. echo "0 results <br>";
  201. }
  202. ?>
  203. </td>
  204. <td>
  205. <?php echo $dataTableJadwal['operasi'] ?> </td>
  206. <td>
  207. <?php
  208. echo $dataTableJadwal['tanggal_masuk']
  209. ?>
  210. </td>
  211. <td>
  212. <?php echo $dataTableJadwal['jam_masuk'] ?> </td>
  213. <td>
  214. <?php echo $dataTableJadwal['jam_keluar'] ?> </td>
  215. <td>
  216. <?php echo $dataTableJadwal['durasi'] ?> menit </td>
  217. <td>
  218. Rp <?php echo number_format($dataTableJadwal['total_harga'], 0); ?>
  219. </td>
  220. </tr>
  221.  
  222. <?php
  223. $no++;
  224. // }
  225. }
  226. ?>
  227. </tbody>
  228. </table>
  229. </div>
  230. </div>
  231. <!-- /.box -->
  232. </div>
  233. </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement