2014-06-04

program antrian bank

tulisan ini hanya berbagi tentang pandangan bagaimana program antrian berjalan. Bukanlah patokan inilah logika yang tepat! karena belum tentu logika akan sesuai dengan kenyataan di pasar.

Tulisan ini buat latihan saja dan karya tulis. ada kekurangan wajar, tetapi bukan berarti kekurangan lalu kamu ngak memperbaikinya.. Namun mari di persingkat dengan masuk ke model2 yang saya ketahui. Semua model membutuhkan sebuah printer untuk mencetak nomor antrian.

2014-05-19

optimize: dgn merubah tipe en cara cari.. didapat

nyoba mitos sebentar.. anyway baca artikel berikut
http://pojokprogrammer.net/content/performance-tuning-sederhana-di-mysql-menggunakan-index
lalu saya akan uji berdasarkan dari pc gw sendiri.. asumsikan bahwa angka yg gw dapetin ini sama seperti kamu punya.. misal km 9 detik.. tp di gw 3 detik.. asumsikan sama.. disini mau test apakah
1. pake count (*) lebih lambat dari count(baris)
2. perbedaan tipe innodb ngaruh besar?

ujicoba ada 2 yaitu
select tanpa pembatasan (where) dengan pembatasan (pake where)
kode yang where
select count(...) from table where baris <= 100 and baris >= 2207181

INNODB 

untuk count tanpa where
* vs baris = 1.14 vs 1.24 | 2 vs 2.16

untuk count dengan where
* vs baris =  0.95 vs 1.34 | 1.67 vs 1.65

MYISAM

untuk count tanpa where
* vs baris = 0 vs 1.79 | masih sama!

untuk count dengan where
* vs baris =  1.38 vs 1.34 | 1.25 vs 1.33

silakan komen dibawah

nb: baris dibuat index. pada angka awal saya menambahkan id sebagai primary dan auto-increment. Yang tebal adalah waktu untuk table yg tidak ada id !!

query : mencari yang tidak punya pasangan (not Join)

berawal dari kebutuhan cara menemukan data yang tidak memiliki relasi. Gw cari-cari deh referensi di internet. Namun walaupun berhasil menemukan, tidak semua faham akan cara pakainya bila kita tidak melatihnya. Jadi saya bikin skenario sebagai berikut
Belajar dulu gan

Pertama buat dahulu table mobile_system
CREATE TABLE IF NOT EXISTS `mobile_system` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`detail` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;
lalu insert
INSERT INTO  `mobile_system` (`id`, `name`, `detail`) VALUES  
(NULL, 'Ios', ''), 
(NULL, 'Android', ''), 
(NULL, 'BB', ''),
 (NULL, 'Palm', ''), 
(NULL, 'Win', ''), 
(NULL, 'Firefox OS', ''),
 (NULL, 'Meer', ''),
 (NULL, 'Tizen', '');
maaf atas pemilihan warnanya.. Lalu lanjutkan dengan table phonegap_system
CREATE TABLE IF NOT EXISTS `phonegap_system` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`sys` int(11) NOT NULL,
PRIMARY KEY (`id`)
)

2014-04-26

silabus belajar webdesign

Webdesign itu bukan pelajaran 1 minggu kelar.. ada beberapa hal yang harus di pelajari dahulu.. Berikut ini adalah basic.
buka bootstrap dahulu .. website bootstrap.. disana km akan dapat basenya.. kl urutannya
1. cara bikin html yg benar, memakai h1, h2,..., P, BR.. terakhir bikin artikel sederhana memakai pelajaran ini

2. cara pake table, hr, div dan parameter didalamnya . terakhir bikin artikel sederhana pake metode2 tsb. dan ada table

3. cara memakai css

4. cara memakai jquery,js, memakai jquery ui

5. memakai bootstrap => sampai km rasa dapet semua

6. memakai javascript bootstrap

7. padukan bootstrap dengan jquery ui

8. buat website dgn bootstrap

dengan membuat website memakai bootstrap, tetapi yang dibuat hanya 1 page yaitu halaman DEPAN.. kamu sudah bisa masuk ke tingkat advance. Lalu apa isi tingkat advance

2014-04-12

Implementasi Penjadwalan

ada beberapa cara implementasi ide penjadwalan di artikel sebelumnya.. Berikut cara yang saya kumpulkan

Pembersihan data 

saya punya data yang bisa dibilang data untuk keluar di laporan. Input dari user itu sangat 'berantakan'. Tetapi kalau ditarik dalam sebuah laporan akan lama karena PHP hrs dibebani konvert datanya ke tampilan yang bisa dibaca.
Ide yang saya buat adalah:
  • buat table yang disebut daftar_report
  • tarik data hari ini dan kemarin (id utama)
  • cocokkan dengan id yang ada di daftar_report
  • bila ada maka lewati. bila tidak lanjutkan ke bawah
  • tarik semua data yang berhubungan dengan id tersebut
  • masukkan ke table
  • lanjut ke id berikutnya
dengan begini bila saya akan memanggil data untuk laporan ... bukan menarik banyak query atau 1 query yang jelimet.. tapi cukup memanfaatkan daftar_report!

Backup yang dihapus

dalam transaksi, sebisa mungkin kita jangan ada penghapusan! tetapi apa daya data besar dan hapus adalah cara untuk mengurangi beban.. Namun data yang akan dihapus jangan hilang dari table tapi pindah ke table baru.. metode ini kusebut backup yang dihapus! tetapi bila dijalankan saat hapus akan lama prosesnya.. berikut metodenya
  • data yang akan dihapus di kasi flag / status =0
  • saat tertentu data yang memiliki flag=0 dipanggil. Anggap dapat 10
  • tarik data yang di flag tersebut
  • dapatkan id terakhir
  • data flag tersebut dipindah ke table baru (insert)
  • hapus flag tersebut sampai batas id terakhir yang didapat di atas
tetapi untuk pencegahan ada bagusnya dibatasi jangan sekaligus 10 terhapus. Bisa dibatasi sampai 5 aja atau terserah menurut pendapat anda.

KESIMPULAN

Inti dari program penjadwalan adalah bagaimana kamu menjalankan sebuah perintah tetapi yang jalanin bukan user / kamu (trigger yang disengaja). Tetapi otomatis tanpa ada campur tangan manusia