Oleh: Rony Syahputra Nasution | April 7, 2010

Validasi Waktu Pada Sistem Pemesanan

Melanjutkan proses QC terdahulu,
mengenai permasalahan waktu,
https://ronysyahputra.wordpress.com/2010/03/28/konfigurasi-date-timezone/
akhirnya menemui kembali sesuatu,
yang berjalan tidak semestinya,
tidak error tapi tidak logis ^_^

Seperti pada posting terdahulu,
https://ronysyahputra.wordpress.com/2010/03/02/1-kasus-terpecahkan-hehe-_/
ternyata tidak berjalan dengan baik
proses validasi waktu terhadap sistem pemesanan.

Permasalahan timbul,
jika terjadi pemesanan berdurasi diatas 2 jam,
walaupun untuk kasus ini (biasa) maksimal 2 jam,
menurut pemberi project ^_^

Contoh kasus nya,
misal Mr. A memesan lapangan X dari jam 09.00 – 12.00,
Mr. B bisa memesan lapangan X pada jam 10 atau jam 11,
ini tidak error tapi tidak logis hehe.

Dengan konsep pada posting terdahulu,
tidak menemui masalah (tidak error, logis),
jika durasi maksimal 2 jam.

Bisa dipastikan permasalahan ini,
ditemukan (muncul) akibat ke-iseng-an saya,
untuk mencoba durasi diatas 2 jam hihihi.

Walaupun pada kasus tersebut,
tidak terjadi masalah,
bagaimana jika diterapkan untuk kasus lain ?

Setelah beberapa saat berkhayal ria,
akhirnya nemu suatu solusi,
walaupun belum tau efektif dan efisien,
dari segi alur atau algoritmanya hihihi.

Langkah awal adalah dengan,
menciptakan table temporary (sementara),
untuk menampung data deretan (array) jam,
dari proses pemesanan.

Kurang lebih struktur table sebagai berikut :
id_pemesanan_log int(5) NOT NULL AUTO_INCREMENT PRIMARY KEY
id_pemesanan int(5) NOT NULL,
jam time NOT NULL

Pada proses simpan pemesanan,
ditambah proses penyimpanan,
dari waktu (durasi) di form pemesanan yang ditentukan.

contoh :

for($i=$jam_mulai; $i<=$jam_akhir; $i++)
{
mysql_query(“INSERT INTO pemesanan_log          (id_pemesanan,
  jam)
      VALUES
  (‘$data_booking[kode]’,
  ‘$i:00:00’)”);
}

Data tersebut yang di simpan di table temporary,
akan dihapus,
jika pemesanan diaktifkan (diambil) atau
jika pemesanan dibatalkan.

contoh :

mysql_query(“DELETE FROM
  pemesanan_log
 WHERE
  id_pemesanan=’$id_pemesanan'”);

Sedangkan proses utama,
yaitu proses validasi (cek) waktu terhadap sistem pemesanan,
adalah dengan query SQL sebagai berikut :

SELECT
 a.id_pemesanan,
 a.tgl_sewa,
 b.*,
 c.nama_lap
FROM
 pemesanan a,
 pemesanan_log b,
 lapangan c
WHERE
 a.id_lapangan = ‘$nama_lap’
AND
 a.id_lapangan = c.id_lapangan
AND
 a.tgl_sewa = ‘$tgl_sewa’
AND
 (b.jam = ‘$jam_mulai_cek’
 OR
 b.jam = ‘$jam_akhir_cek’)

Sejauh ini sistem bekerja dengan baik,
tapi saya masih mencari konsep yang efektif dan efisien,
biar aplikasi lebih baik lagi.

Salah satunya mencoba mendiskusikan,
http://www.diskusiweb.com/viewthread.php?tid=47309
walaupun saat ini belum ada masukan lagi.

Ada saran/masukan dari anda ? silakan ^_^

Semoga bermanfaat,
Salam dari Cirebon.


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Kategori

%d blogger menyukai ini: