Perancangan 2013

Rasanya lama dah tak update blog ini dengan tutorial2 yang berkaitan dengan pengaturcaraan php & mysql. Alhamdulillah, sepanjang PakCu handling training utk Kursus PHP & mySQL (Asas & Pertengahan) serta Joomla, feeback yang diterima sangat menggalakan. Sampai hari ini masih ada peserta kursus yang call/email/msg bertanyakan persoalan berkaitan kandungan kursus yang diajar. Ini satu perkara yang positif antara pengajar dan pelajar. Oops! PakCu bukan nak mengajar.. cuma nak berkongsi ilmu sekerat-dua yang Allah berikan ini agar kita sama-sama dapat manfaat daripadanya.

Jadi untuk tahun 2013 ini, PakCu cadangan nak buat satu koleksi tutorial ilmu yang PakCu ada berkaitan dengan pengatucaraan dengan pengunjung semua. Sekurang-kurangnya ia boleh dijadikan rujukan kepada yang baru berjinak dengan dunia pengaturcaraan. Juga untuk peserta-peserta kursus refresh balik pembelajaran yang dikongsikan semasa dalam kelas/kursus yang telah dihadiri. Namun ingin PakCu menyatakan disini:

“Saya bukanlah pakar dalam bidang ini tapi saya amat minat dalam bidang ini dan tujuan saya menyediakan tutorial akan datang ini bukanlah untuk mengajar anda tentang cara terbaik (kerana ada yang lebih baik) tetapi sekadar berkongsi ilmu yang saya ada untuk manfaat kita semua”

Insyallah selain dari topik2 yang memang PakCu dah rancang nak buat, anda juga boleh usulkan topik2 yang berkaitan. Sekiranya topik tersebut dalam pengetahuan PakCu, insyallah PakCu akan buatkan tutorial.

JomWeb @ KPTMKL

First of all, PakCu nak ucapkan berbanyak terima kasih kepada Saudara Iszuddin Ismail (Senior Web Developer at Kengkawan IT Solutions) kerana sudi menjemput PakCu utk turut hadir sama bersama-sama beberapa lagi Pakar IT antaranya Akmal Fikri, Mior Muhammad Zaki, Haezal Musa, Muhamad Hanafiah, Nurhanna Aziz, Ashikin Asraf, Izwan Robotys, Azree Hanifiah, Muhammad Hamizi dan Nurul Azrad; pada yg tak sebut nama jangan marah ye… Tak lupa juga kepada Pihak Pengajur Program dan tuan rumah (KPTMKL)

Walaupun program diadakan pada Hari Jumaat tapi pengisiaannya sgt bagus. Bermula dengan topik “Apa yg perlu anda tahu untuk menjadi seorang programmer” oleh Saudara Iszuddin. Kemudiannya disusuli dengan topik “Kehidupan sebagai seorang programmer” oleh Saudara Zaki. Sebelum berehat tengahari utk solat Jumaat, pelajar diberi lagi pengetahuan oleh Saudara Izwan dengan tajuk “MVC – Code Igniter”. Selepas solat Jumaat, program diteruskan dengan pembentangan oleh Saudara Hamizi dengan tajuk “GIT” serta diakhiri dengan tajuk “JQuery” oleh Saudara Nurul Azrad.

Tak sia2 bos PakCu bagi pelepasan untuk menghadiri program ini. Banyak ilmu baru yg memberi manfaat serta tambahan /pemantapan ilmu yang telah ada. Memang PakCu setuju dengan kata2 Saudara Zaki, Programmer has no life!! Tapi kalo kita pandai manage masa, insyallah kita tidak akan jadi hamba kepada kerja. Apa yg PakCu dpt simpulkan pada program tadi:

1. Better use div drp table. Pakai table hanya utk paparkan senarai data sahaja. Kenapa? Sebab apabila kita pakai div, maka kita akan belajar CSS. Kenapa nak pakai CSS? CSS memudahkan kita utk mengawal UI (User Interface) agar mendapatkan feedback yg positif utk UX (User Experience). Selain itu CSS juga memudahkan kita apabila kita hendak menggunakan JQuery

2. Setkan benchmarking/target setting dlm sesuatu tempoh, apa yg akan kita perolehi (ilmu/kepakaran). Contohnya katakan dalam tempoh 2 bulan kita nak mahir dengan Code Igniter. So kita kena berusaha untuk mencapai target kita tu. Kalo selepas tempoh tersebut kita masih tak capai target tadi. Lihat balik kelemahan diri. Adakah kita kena beralih kpd framework yg lain atau programming memang bukan bidang kita 🙂

3. Mula cari framework yg sesuai dengan keperluan anda. Penerangan yg menarik daripada Saudara Izwan tentang MVC dan kelebihan CI telah menarik minat PakCu untuk mencuba Code Igniter (CI) sebagai framework utk projek2 akan datang. Jika sebelum ini PakCu pernah mencuba CakePHP dan PHPHyppo jadi sekarang ini, mula nak mencuba CI pula. CI nampak lebih flexible dan mudah difahami.

4. GIT adalah satu apps yg memudahkan kita untuk mengawal versi sistem kita. Kalo sebelum ini kita terpaksa membuat folder/fail xxxx_latest.php. Kemudiannya xxxx_latest_paling.php tapi kita dengan penggunaan GIT akan lebih memudahkan kita menguruskan fail2 code kita dengan lebih sistematik dan teratur. Terdapat 2 jenis GIT iaitu GIT dan juga GITHUB. Perbezaannya adalah GitHub adalah utk public (dikongsikan dengan org lain melalui portal github iaitu http://www.github.com. Manakala GIT pula lebih baik digunakan sekiranya kita membangunkan aplikasi secara berkumpulan di organisasi kita.

5. Masanya telah tiba dimana web kini lebih berbentuk dinamik dan interaktif serta mesra pengguna. Jika dulu kita terpaksa refresh/load page apabila kita menghantar sesuatu input melalui form. Tapi dengan adanya JQuery dan Ajax, page tidak lagi perlu direload. Saudara Nurul Azrad telah menunjukkan contoh2 yg menarik dlm pembentangan beliau.

Syabas kepada pihak penganjur dan Penceramah/Fasilitator yg turut hadir bagi menjayakan program ini.

Jenis-Jenis Hash dan Ciri-Cirinya

Setakat apa yang kami tahu, sekurang2nya ada 25 jenis hash.. mungkin ada lebih banyak lagi.
dibawah adalah jenis dan ciri-ciri hash yang kebiasaan kita nampak.

1. DES (Unix)

Digunakan di Linux dan sejenisnya.
Panjang : 13 Karakter.
Deskripsi : Dua karakter pertama adalah salt (Karakter rambang, di contoh kita saltnya adalah string “Iv.”) kemudian diikuti oleh Hashnya.
Contoh : IvS7aeT4NzQPM

2. Domain Cached Credentials

Digunakan untuk mencache password-password domain windows.
Panjang : 16 bytes (32 Karakter)
Algorithm : MD4(MD4(Unicode($pass)).Unicode(strtolower($userna me)))
Contoh : Admin:b474d48cdfc4974d86ef4d24904cdd91

3. MD5 (Unix)

Digunakan di Linux dan sejenisnya.
Panjang : 34 Karakter.
Deskripsi : Hash dimulai dengan tanda $1$ kemudian dilanjutkan dengan salt (sampai dengan 8 karakter rambang, di contoh kita saltnya adalah string “12345678″)
kemudian dilanjutkan dengan satu karakter lagi $ , kemudian diikuti oleh Hashnya.
Algorithm : Sebenarnya ini adalah loop yang memanggil algoritma md5 sebanyak 2000 kali.
Contoh : $1$12345678$XM4P3PrKBgKNnTaqG9P0T/

4. MD5 (APR)

Digunakan di Linux dan sejenisnya.
Panjang : 37 Karakter.
Deskripsi : Hash dimulai dengan tanda $apr1$ , kemudian dilanjutkan dengan salt (sampai dengan 8 karakter acak, di contoh kita saltnya adalah string “12345678″), kemudian dilanjutkan dengan satu karakter lagi $ ,
kemudian diikuti oleh Hashnya.
Algorithm : Sebenarnya ini adalah loop yang memanggil algoritma md5 sebanyak 2000 kali.
Contoh : $apr1$12345678$auQSX8Mvzt.tdBi4y6Xgj.

5. MD5 (phpBB3)

Digunakan di phpBB 3.x.x.
Panjang : 37 Karakter.
Dekripsi : Hash dimulai dengan tanda $H$ kemudian diikuti dengan satu karakter (selalunya dengan angka “9″) kemudian diikuti dengan salt (8 karakter rambang, contoh saltnya adalah string “12345678″), kemudian diikuti oleh Hashnya.
Algorithm : Sebenarnya ini adalah loop yang memanggil algoritma md5 sebanyak 2048 kali.
Contoh : $H$9123456785DAERgALpsri.D9z3ht120

6. MD5 (WordPress)

Digunakan di WordPress.
Panjang : 34 Karakter.
Deskripsi : Hash dimulai dengan tanda $P$ , kemudian diikuti dengan satu karakter (selalunya dengan huruf “B”), kemudian diikuti dengan salt (8 karakter rambang, contoh kita adalah string “12345678″), kemudian diikuti oleh Hashnya.
Algorithm : Sebenarnya ini adalah loop yang memanggil algoritma md5 sebanyak 8192 kali.
Contoh : $P$B123456780BhGFYSlUqGyE6ErKErL01

7. MySQL

Digunakan di MySQL versi lama.
Panjang : 8 bytes.
Deskripsi : Hash yang terdiri dari dua DWORD, masing-masing tidak melebihi nilai 0x7fffffff.
Contoh : 606717496665bcba

8. MySQL5

Digunakan di MySQL Versi baru.
Panjang : 20 bytes.
Algorithm : SHA-1(SHA-1($pass))
Contoh : *E6CC90B878B948C35E92B003C792C46C58C4AF40
Catatan : Hash harus dimuat ke program tanpa tanda bintang yang terdapat di awal setiap hash.

9. RAdmin v2.x

Digunakan di Aplikasi Remote Administrator v2.x.
Panjang : 16 bytes.
Algorithm : Password diisi dengan nol dengan panjang 100 bytes, kemudian seluruh string dihash dengan algoritma MD5.
Contoh : 5e32cceaafed5cc80866737dfb212d7f

10. MD5

Digunakan di phpBB v2.x, Joomla versi di bawah 1.0.13 dan banyak forum dan CMS.
Panjang : 16 bytes.
Algorithm : sama seperti fungsi md5() di php.
Contoh : c4ca4238a0b923820dcc509a6f75849b

11. md5($pass.$salt)

Digunakan di WB News, Joomla Versi 1.0.13 keatas.
Panjang : 16 bytes
contoh : 6f04f0d75f6870858bae14ac0b6d9f73:1234

12. md5 ($salt.$pass)

Digunakan di osCommerce, AEF, Gallery dan beberapa CMS.
Panjang : 16 bytes.
Contoh : f190ce9ac8445d249747cab7be43f7d5:12

13. md5(md5($pass))

Digunakan di e107, DLE, AVE, Diferior, Koobi dan beberapa CMS.
Panjang : 16 bytes.
Contoh : 28c8edde3d61a0411511d3b1866f0636

14. md5(md5($pass).$salt)

Digunakan di vBulletin, IceBB.
Panjang ; 16 bytes.
Contoh : 6011527690eddca23580955c216b1fd2:wQ6

15. md5(md5($salt).md5($pass))

Digunakan di IPB.
Panjang : 16 bytes.
Contoh : 81f87275dd805aa018df8befe09fe9f8:wH6_S

16. md5(md5($salt).$pass)

Digunakan di MyBB.
Panjang : 16 bytes.
Contoh : 816a14db44578f516cbaef25bd8d8296:1234

17. md5($salt.$pass.$salt)

Digunakan di TBDev.
Panjang : 16 bytes.
Contoh : a3bc9e11fddf4fef4deea11e33668eab:1234

18. md5($salt.md5($salt.$pass))

Digunakan di DLP.
Panjang : 16 bytes.
Contoh : 1d715e52285e5a6b546e442792652c8a:1234

19. SHA-1

Digunakan dibanyak Forum dan CMS.
Panjang : 20 bytes
Algorithm: Sama dengan sha1() fungsi di PHP.
Contoh : 356a192b7913b04c54574d18c28d46e6395428ab

20. sha1(strtolower($username).$pass)

Digunakan di SMF
Panjang : 20 bytes.
Contoh : Admin:6c7ca345f63f835cb353ff15bd6c5e052ec08e7a

21. sha1($salt.sha1($salt.sha1($pass)))

Digunakan di Woltlab BB
Panjang : 20 bytes
Contoh : cd37bfbf68d198d11d39a67158c0c9cddf34573b:1234

22. SHA-256(Unix)

Digunakan di Linux dan sejenisnya.
Panjang : 55 Karakter.
Deskripsi : Hash dimulai dengan tanda $5$, kemudian diikuti salt (sampai dengan 8 karakter rambang, di contoh kita saltnya adalah string “12345678″), kemudian dilanjutkan dengan satu karakter lagi $, kemudian diikuti hash sebenarnya.
Algorithm : Sebenarnya ini adalah loop yang memanggil algoritma SHA-256 5000 kali.
Contoh : $5$12345678$jBWLgeYZbSvREnuBr5s3gp13vqi…

23. SHA-512(Unix)

Digunakan di Linux dan sejenisnya.
Panjang : 98 Karakter.
Deskripsi : Hash dimulai dengan tanda $6$, kemudian diikuti dengan salt (sampai dengan 8 karakter rambang, dicontoh kita saltnya adalah string “12345678″), kemudian dilanjutkan dengan satu karakter lagi $, kemudian diikuti hash sebenarnya.
Algorithm : Sebenarnya ini adalah loop yang memanggil algoritma SHA-512 5000 kali.
contoh : $6$12345678$U6Yv5E1lWn6mEESzKen42o6rbEm…

Sumber : Dragon Force

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 261904 bytes) on line 2729

Pernah dpt error cam ni? Mesej ralat ini boleh muncul dalam skrip PHP yang sebelum ini berfungsi apabila keperluan memori melebihi had standad iaitu 8MB seperti yang telah ditetapkan (configuration) dalam fail php.ini. Namun begitu, ia hanyalah merupakan satu masalah yang mudah untuk diatasi.

Untuk menukar had maksimum ini, satu skrip php dengan dibuat dengan memasukkan baris seperti ini di bahagian atas skrip anda:

<?php
ini_set('memory_limit','128M');
?>

Code di atas menetapkan had maksimum 128 megabait. Jika jumlah ini masih tidak berfungsi, anda boleh terus meningkatkan had memori. Anda juga boleh menetapkan had memori tanpa had dengan memasukkan kod berikut:

<?php
ini_set('memory_limit','-1');
?>

Perlu diingat bahawa had memori yang besar adalah amat tidak sesuai untuk programming yang baik. Kod skrip yang buruk (ditulis dengan tidak cekap) boleh mensia-siakan memori dan seterusnya boleh menimbulkan masalah yang teruk bagi skrip yang kerap dijalankan (dipanggil dan digunakan). Walau bagaimanapun, sesetengah aplikasi yang kurang digunakan dan memerlukan memori yang banyak seperti mengimport dan memproses data yang besar tetap harus menggunakan had memori yang besar.

PHPMeetup 2011: Framework Shootout

Komuniti PHP.net.my dengan kerjasama MIMOS sekali lagi menganjurkan PHP Meetup. Perjumpaan kali ini akan berkisar mengenai framework yang ada di komuniti sumber terbuka.

Tentatif :
8.30 – Pendaftaran
9.00 – Ucapan alu-aluan dari Founder Php.net.my
– Ucapan alu-aluan dari Mimos Berhad
– CakePHP
10.25 – Breakfast
10.55 – Most Wanted Programmers
– Django
– DooPHP
1.10 – Lunch
2.15 – ZendFramework
– CodeIgniter
– Ruby On Rails
– PHP Hyppo
5.05 – Tea Break and Chats

– Presenters:
1. Zend Framework (TerasAmpuh)
2. CakePHP (Bazet)
3. PHPHyppo (hymns)
4. Code Igniter (aizuddinmanap.com)
5. dooPHP – Leng Sheng Hong (darkredz)
– Guest Languages:
6. Django – framework untuk Python (Doubt).
7. Ruby on Rails (Azrad)
– Non-framework topic
8. Become the Most Wanted Programmer in the Market (Lee Johnson – 40Square)

Bahasa pengantar adalah mengikut presenter.

masuk adalah percuma. keluar pun sama. 🙂

Breakfast, Lunch dan makan petang disediakan. First come first makan basis.

Penaja Bersama :
AIST – http://www.aist.com.my/
PRIMUSCORE – http://www.primuscore.com/
EXPERIAN HITWISE – http://www.hitwise.com/
JMOBI – http://www.i-mobe.com/

Yang datang akan dapat MUG PERCUMA selagi stok masih ada.

Semoga segalanya dipermudahkan olehNYA.

FB: http://www.facebook.com/event.php?eid=147833501942196

Currently…

+ ICMS
+ Sistem eLatihan
+ Sistem eQA
+ Web JMK

Coming…
+ Task management
+ Sistem tempahan borang klinikal
+ Sistem tempahan bilik mesyuarat

UPDATED

Aku seronok dpt jumpa member2 zaman sekolah dulu2. Semuanya melalui Facebook !! Betullah kata member, kalo ko nak cari member ko, ko taip jer nama dia dlm facebook mesti jumpa punya.. Tapi bukan semua.. Menariknya, jumpa seorang, akan jumpa yg lain lagi 🙂

Skang ni aku tengah bangunkan laman web Jabatan Maklumat Kesihatan. Nampak simple tetapi ada beberapa interactive function yang akan menjadikan ianya lebih menarik utk dikunjungi. Team webmaster dah ada.. Depa cari/tambah/kemaskini content.. aku lak, buat programming utk function2 ni… nasib baik ada Hezra yg bantu aku buat layout… senang skit kerja.

mIRC !! Dah lama aku x online, abg Mahmud balik kg sempena cuti sekolah 2 minggu ni.. So segala perkembangan utk mIRC terbantut !!