• Tidak ada hasil yang ditemukan

// mysql_query(" TRUNCATE TABLE tabel_temp_barang") or die("kosongkan Temp : ". mysql_error());

N/A
N/A
Protected

Academic year: 2021

Membagikan "// mysql_query(" TRUNCATE TABLE tabel_temp_barang") or die("kosongkan Temp : ". mysql_error());"

Copied!
6
0
0

Teks penuh

(1)

LAMPIRAN KODE PROGRAM

1. proses.php

function rotasi_operator($array_nilai) { $temp = 0;

$counter_index = 0;

for ($i = 0; $i < count($array_nilai); $i++) { $array_nilai_temp = $array_nilai; if (($counter_index) < count($array_nilai) - 1) { $temp = $array_nilai_temp[$counter_index]; $array_nilai_temp[$counter_index] = $array_nilai_temp[$counter_index + 1]; $array_nilai_temp[$counter_index + 1] = $temp; $hasil[] = $array_nilai_temp; } else { $temp = $array_nilai_temp[0]; $array_nilai_temp[0] = $array_nilai_temp[count($array_nilai) - 1]; $array_nilai_temp[count($array_nilai) - 1] = $temp; $hasil[] = $array_nilai_temp; } $counter_index++; } return $hasil; }

2. database.php

function konfigurasi_item($id_user) {

//kosongkan tabel_temp_barang, karena isinya harus dinamis mysql_query("DELETE FROM tabel_temp_barang WHERE

id_user=$id_user") or die("Kosongkan tabel_temp_barang : " . mysql_error());

mysql_query("DELETE FROM tabel_barang_sisa WHERE

id_user=$id_user") or die("Kosongkan tabel_temp_barang : " . mysql_error());

// mysql_query(" TRUNCATE TABLE tabel_temp_barang") or die("Kosongkan Temp : " . mysql_error());

//untuk ruangan

$q_ruangan = mysql_query("SELECT * FROM tabel_ukuran_ruangan WHERE id_user=$id_user") or die(mysql_error());

$row_ruangan = mysql_fetch_array($q_ruangan); $panjang_ruangan = $row_ruangan ['panjang']; $tinggi_ruangan = $row_ruangan ['tinggi']; $lebar_ruangan = $row_ruangan ['lebar']; $x_nol_ruangan = -$panjang_ruangan / 2; $y_nol_ruangan = -$tinggi_ruangan / 2; $z_nol_ruangan = -$lebar_ruangan / 2; $x_max_ruangan = $panjang_ruangan / 2; $y_max_ruangan = $tinggi_ruangan / 2; $z_max_ruangan = $lebar_ruangan / 2; @$x_sekarang = $x_nol_ruangan; @$y_sekarang = $y_nol_ruangan;

(2)

@$z_sekarang = $z_nol_ruangan; $hc = hill_climbing($id_user); // print_r($hc);

for ($i = 0; $i < count($hc); $i++) { $id = $hc[$i][0];

$q_kotak = mysql_query("SELECT * FROM tabel_barang WHERE id_barang=$id") or die("tampil tabel_barang : " .

mysql_error());

while ($row = mysql_fetch_array($q_kotak)) { $id_barang = $row['id_barang']; $panjang = $row['panjang']; $tinggi = $row['tinggi']; $lebar = $row['lebar']; $berat = $row['berat']; $id_kotak = $row['id_barang']; //informasi barang saat ini yang diproses

$informasi_barang = pengaturan_barang($id_user, $panjang, $tinggi, $lebar, $berat, $id_kotak);

if ($informasi_barang != 0) { @$kotak[] = array(

id => $id_barang,

sp_size => $panjang . " x " . $tinggi . " x " . $lebar, sp_size_1 => $panjang, sp_size_2 => $tinggi, sp_size_3 => $lebar, x_origin_in_bin => $informasi_barang[0], y_origin_in_bin => $informasi_barang[1], z_origin_in_bin => $informasi_barang[2], constraints => 0 ); } } } // echo json_encode(@$kotak); return json_encode(@$kotak); } function konfigurasi_ruangan($id_user) {

$q_ruangan = mysql_query("SELECT * FROM tabel_ukuran_ruangan WHERE id_user=$id_user") or die(mysql_error());

$row_ruangan = mysql_fetch_array($q_ruangan); return json_encode(array($row_ruangan['panjang'], $row_ruangan['tinggi'], $row_ruangan['lebar'])); }

function pengaturan_barang($id_user, $panjang, $tinggi, $lebar, $berat, $id_kotak) {

$q_ruangan = mysql_query("SELECT * FROM tabel_ukuran_ruangan WHERE id_user=$id_user") or die(mysql_error());

$row_ruangan = mysql_fetch_array($q_ruangan);

$panjang_ruangan_min = -$row_ruangan ['panjang'] / 2; $tinggi_ruangan_min = -$row_ruangan ['tinggi'] / 2;

(3)

$lebar_ruangan_min = -$row_ruangan ['lebar'] / 2; $panjang_ruangan_max = $row_ruangan ['panjang'] / 2; $tinggi_ruangan_max = $row_ruangan ['tinggi'] / 2; $lebar_ruangan_max = $row_ruangan ['lebar'] / 2;

if ($panjang <= $panjang_ruangan_max - ($panjang_ruangan_min) && $tinggi <= ($tinggi_ruangan_max - ($tinggi_ruangan_min)) && $lebar <= ($lebar_ruangan_max - ($lebar_ruangan_min))) {

$q_cek_temp = mysql_query("SELECT * FROM tabel_temp_barang WHERE id_user=$id_user") or die("cek temp kotak : " .

mysql_error());

if (mysql_num_rows($q_cek_temp) > 0) {

$hasil = keatas($id_user, $panjang, $tinggi, $lebar, $berat, $panjang_ruangan_max, $tinggi_ruangan_max, $lebar_ruangan_max, $id_kotak); if (is_array($hasil)) { $x = $hasil[0]; $y = $hasil[1]; $z = $hasil[2]; } else {

$hasil = kesamping($id_user, $panjang, $tinggi, $lebar, $berat, $panjang_ruangan_max, $tinggi_ruangan_max, $lebar_ruangan_max, $id_kotak); if (is_array($hasil)) { $x = $hasil[0]; $y = $hasil[1]; $z = $hasil[2]; } else {

$hasil = kedalam($id_user, $panjang, $tinggi, $lebar, $berat, $panjang_ruangan_max, $tinggi_ruangan_max, $lebar_ruangan_max, $id_kotak); if (is_array($hasil)) { $x = $hasil[0]; $y = $hasil[1]; $z = $hasil[2]; } else {

//jika sudah penuh

mysql_query("INSERT INTO tabel_barang_sisa(id_barang, id_user, panjang, tinggi, lebar, berat) VALUES($id_kotak, $id_user, $panjang, $tinggi, $lebar, $berat)") or die("Error Insert Kotak sisa :" . mysql_error());

// break; }

} } } else {

$hasil = kotak_pertama($id_user, $panjang, $tinggi, $lebar, $panjang_ruangan_min, $tinggi_ruangan_min, $lebar_ruangan_min, $berat, $id_kotak);

$x = $hasil[0]; $y = $hasil[1]; $z = $hasil[2]; }

if (isset($x) && isset($y) && isset($z)) { return Array($x, $y, $z);

} else {

//kembalikan 0 untuk dicek, agara tidak ditambah pada array posisi kotak

return 0; }

(4)

} else {

mysql_query("INSERT INTO tabel_barang_sisa(id_user, panjang, tinggi, lebar, berat) VALUES($id_user, $panjang, $tinggi, $lebar, $berat)") or die("Error Insert Kotak sisa :" . mysql_error()); }

} /*

* panjang <= panjang sebelumnya * lebar <= lebar sebelumnya * total panjang <= l

* total tinggi <= tinggi ruang * total lebar <= lebar ruang *

* update atas sebelumnya F * y tambah

* x tetap * z tetap */

function keatas($id_user, $panjang, $tinggi, $lebar, $berat, $panjang_ruangan_max, $tinggi_ruangan_max, $lebar_ruangan_max, $id_kotak) {

$q_cek_atas = mysql_query("SELECT * FROM tabel_temp_barang WHERE id_user=$id_user AND $panjang<=panjang AND $lebar<=lebar AND $berat<=max_tumpukan AND atas='T' ORDER BY id_barang ASC") or die("Tampil 1: " . mysql_error());

while ($temp = mysql_fetch_array($q_cek_atas)) { $id_temp = $temp['id_barang']; $x_temp = $temp['x']; $y_temp = $temp['y']; $z_temp = $temp['z']; $panjang_temp = $temp['panjang']; $tinggi_temp = $temp['tinggi']; $lebar_temp = $temp['lebar']; $berat_temp = $temp['berat']; $index_x = $temp['index_x']; $index_y = $temp['index_y']; $index_z = $temp['index_z'];

$max_tumpukan = $berat_temp - $berat;

if ($y_temp + $tinggi_temp / 2 + $tinggi <= $tinggi_ruangan_max) {

$x = $x_temp;

$y = $y_temp + $tinggi_temp / 2 + $tinggi / 2;

$z = $z_temp;

mysql_query("UPDATE tabel_temp_barang SET atas='F' WHEREid_barang=$id_temp") or die("Update 1" . mysql_error());

mysql_query("INSERT INTO tabel_temp_barang

(id_user, id_barang, x,y,z,panjang,tinggi,lebar, berat, atas,kanan,dalam, index_x, index_y, index_z, max_tumpukan) VALUES($id_user, $id_kotak, $x,$y,$z, $panjang,$tinggi,$lebar, $berat, 'T', 'F', 'F', $index_x, $index_y+1, $index_z,$max_tumpukan)") or die("Insert 1" . mysql_error());

return Array($x, $y, $z); break;

(5)

} else { continue; }

} }

function kesamping($id_user, $panjang, $tinggi, $lebar, $berat, $panjang_ruangan_max, $tinggi_ruangan_max, $lebar_ruangan_max, $id_kotak) {

// $q_cek_atas = mysql_query("SELECT * FROM tabel_temp_barang WHERE id_user=$id_user AND $panjang<=panjang AND $lebar<=lebar AND $berat<=max_tumpukan

//AND kanan='T' ORDER BY id_barang ASC ") or die("Tampil 1: " . mysql_error()); $q_cek_atas = mysql_query("SELECT * FROM

tabel_temp_barang WHERE id_user=$id_user AND $lebar<=lebar AND $berat<=max_tumpukan AND kanan='T' ORDER BY id_barang ASC ") or die("Tampil 1: " . mysql_error());

while ($temp = mysql_fetch_array($q_cek_atas)) { $id_temp = $temp['id_barang']; $x_temp = $temp['x']; $y_temp = $temp['y']; $z_temp = $temp['z']; $panjang_temp = $temp['panjang']; $tinggi_temp = $temp['tinggi']; $lebar_temp = $temp['lebar']; $index_x = $temp['index_x']; $index_y = $temp['index_y']; $index_z = $temp['index_z']; $max_tumpukan = $berat;

if ($x_temp + $panjang_temp / 2 + $panjang <= $panjang_ruangan_max) {

$x = $x_temp + $panjang_temp / 2 + $panjang / 2; $y = $y_temp - $tinggi_temp / 2 + $tinggi / 2; $z = $z_temp - $lebar_temp / 2 + $lebar / 2;

mysql_query("UPDATE tabel_temp_barang SET kanan='F' WHERE id_barang=$id_temp") or die("Update 1" . mysql_error()); mysql_query("INSERT INTO tabel_temp_barang (id_user, id_barang,x,y,z,panjang,tinggi,lebar, berat,

atas,kanan,dalam, index_x, index_y, index_z, max_tumpukan) VALUES($id_user, $id_kotak,$x,$y,$z, $panjang,$tinggi,$lebar, $berat, 'T', 'T', 'T', $index_x+1, $index_y, $index_z,

$max_tumpukan)") or die("Insert 1" . mysql_error()); return Array($x, $y, $z);

} else { continue; }

} }

function kedalam($id_user, $panjang, $tinggi, $lebar, $berat, $panjang_ruangan_max, $tinggi_ruangan_max, $lebar_ruangan_max, $id_kotak) {

$q_cek_atas = mysql_query("SELECT * FROM tabel_temp_barang WHERE id_user=$id_user AND $panjang<=panjang AND $lebar<=lebar AND

(6)

$berat<=max_tumpukan AND dalam='T' ORDER BY index_x ASC, id_barang ASC LIMIT 1") or die("Tampil 1: " . mysql_error()); while ($temp = mysql_fetch_array($q_cek_atas)) {

$id_temp = $temp['id_barang']; $x_temp = $temp['x']; $y_temp = $temp['y']; $z_temp = $temp['z']; $panjang_temp = $temp['panjang']; $tinggi_temp = $temp['tinggi']; $lebar_temp = $temp['lebar']; $index_x = $temp['index_x']; $index_y = $temp['index_y']; $index_z = $temp['index_z']; $max_tumpukan = $berat;

if ($z_temp + $lebar_temp / 2 + $lebar <= $lebar_ruangan_max && $panjang <=$panjang_temp) {

$x = $x_temp - $panjang_temp / 2 + $panjang / 2; $y = $y_temp - $tinggi_temp / 2 + $tinggi / 2; $z = $z_temp + $lebar_temp / 2 + $lebar / 2;

mysql_query("UPDATE tabel_temp_barang SET dalam='F' WHERE id_barang=$id_temp") or die("Update 1" . mysql_error()); mysql_query("INSERT INTO tabel_temp_barang (id_user, id_barang, x,y,z,panjang,tinggi,lebar, berat,

atas,kanan,dalam, index_x, index_y, index_z, max_tumpukan) VALUES($id_user, $id_kotak,$x,$y,$z, $panjang,$tinggi,$lebar, $berat, 'T', 'F', 'T', $index_x+1, $index_y, $index_z+1, $max_tumpukan)") or die("Insert 1" . mysql_error()); return Array($x, $y, $z);

} else { continue; }

} }

//jika tabel_temp_barang masih kosong

function kotak_pertama($id_user, $panjang, $tinggi, $lebar, $panjang_ruangan_min, $tinggi_ruangan_min, $lebar_ruangan_min, $berat, $id_kotak) {

$x = $panjang_ruangan_min + $panjang / 2; $y = $tinggi_ruangan_min + $tinggi / 2; $z = $lebar_ruangan_min + $lebar / 2; $max_tumpukan = $berat;

mysql_query("INSERT INTO tabel_temp_barang (id_user, id_barang, x,y,z,panjang,tinggi,lebar, berat, atas,kanan,dalam, index_x, index_y, index_z, max_tumpukan) VALUES($id_user, $id_kotak, $x,$y,$z, $panjang,$tinggi,$lebar, $berat, 'T', 'T', 'T', 0,0,0, $max_tumpukan)") or die("Insert 1" . mysql_error());

return Array($x, $y, $z); }

Referensi

Dokumen terkait

TABEL IV.38 PENGARUH PROGRAM REVITALISASI TERHADAP KOMPONEN PENGEMBANGAN WISATA DI KAWASAN PECINAN SEMARANG 186 TABEL IV.39 HASIL TEMUAN STUDI PENGARUH PROGRAM REVITALISASI

Kondisi SM Rimbang Baling sangat memprihatinkan saat ini, dan sangat disayangkan jika pada akhirnya, pemasalahan yang terjadi di kawasan konservasi menyebabkan

Di Indonesia, bawang bombay banyak ditemukan di daerah Tanah Karo (Sumatera Utara), percobaan penanaman di dataran tinggi Karo dengan ketinggian sekitar 2000 m dpl, memperoleh

Pada saat Peraturan Daerah ini mulai berlaku, Peraturan Daerah Kabupaten Nomor 7 Tahun 2001 tentang Retribusi dan Sewa Pemakaian Kekayaan Daerah (Lembaran Daerah

mahasiswa (66,7 swa (66,7%) men %) mendapat duk dapat dukungan s ungan sosial osial dari tem dari teman yaitu t an yaitu teman eman memberikan pinjaman buku

Adapun yang termasuk data sekunder dalam penelitian ini adalah

Pengaruh Quantum Teaching Dengan Teknik Mind Mapping Terhadap Motivasi Dan Hasil Belajar Materi Menghitung Luas Permukaan Dan Volume Bangun Ruang Kubus Dan

Dina Lestari, Analisis Koneksi Matematika Siswa Kelas VII dalam Menyelesaikan Soal Cerita pada Materi Himpunan , (Surakarta: Universitas Muhammadiyah Surakarta, 2017),