Pastikan terma anda betul

Lama sungguh mengabaikan perkongsian ilmu di blog ini. Catatan kali ini ditujukan buat para bakal graduan/graduan/sesiapa yang ingin berkecimpung dalam bidang pengaturcaraan. Kenapa penggunaan terma yang betul perlu dititik-beratkan?

Bayangkan, anda memohon untuk bekerja sebagai Pengaturcara PHP. Bila penemuduga bertanyakan pada anda apa itu PHP dan anda menjawab “Pangkalan Data”, sudah pastinya anda tidak akan mendapatkan jawatan itu. Baiklah, mungkin anda akan tetap dapat jawatan tersebut, tetapi kalau penemuduga itu adalah saya, soalan-soalan seterusnya saya tidak akan tanya.

Kemudian anda ingin melakukan carian dilaman sesawang, Google misalnya. Pada saat ini anda ingin menyelesaikan permasalahan pengaturcaraan dan anda menemui jalan buntu.  Anda taip “Bagaimana mahu jana data menggunakan php dan phpmyadmin”.  Kalau anda bernasib baik, akan wujudlah jawapan kepada permasalahan yang awak cuba selesaikan (setelah tekan halaman yang paling belakang misalnya). Kita tolak ketepi sifat husnuzon dan membuat andaian anda tidak berjaya menemui jawapan yang diingini. Anda akan beralih bertanya di forum ataupun ‘group’ di Facebook.

Apabila anda bertanya di forum/’group’, anda masih menggunakan soalan yang sama, kemungkinan besar anda akan di’troll’ (oleh saya) atau akan dibetulkan terma yang diguna-pakai(kalau emosi saya stabil) atau ada insan lain yang bermurah hati untuk memahami masalah anda.

Sekarang sudah nampak kepentingannya?

1. Pelayan Web (Webserver).
– Diperlukan untuk melakukan penghantaran halaman sawang(web page) kepada pelayar(browser) melalui internet.
– Contoh pelayan web adalah Apache,Nginx,IIS dan GWS.

2. Pangkalan Data (Database)
– Satu koleksi data yang disimpan dengan teratur. Pangkalan data tidak semestinya dalam bentuk perisian.
– Contoh menyimpan rekod perbelanjaan bulanan. Susun cantik-cantik dalam kertas. Ini juga satu contoh pangkalan data.

3. Sistem Pengurusan Pangkalan Data (DBMS)
– Merupakan satu perisian menguruskan pangkalan data agar boleh berinteraksi dengan pengguna.
– Contoh MySQL, Oracle, MongoDB dan lain-lain

4. Bahasa pengaturcaraan (Programming Language)
– Benda yang anda kod untuk buat sistem, web dan lain-lain
– Contoh PHP, ASP.NET, JSP, JAVA,PHYTON dan lain lain

5. IDE (Kalau di melayukan buruk sangat bunyinya)
– Alat untuk pembangunan perisian. (Kalau takrifan sebenar lain dan panjang)
– Contoh Notepad++, Dreamweaver, Sublime, Zen Studio dan lain lain.

Jadi harapnya selepas ini tidaklah keluar soalan/jawapan “saya guna Xampp/Wamp sebagai database/server”.

DRY – Don’t repeat yourself.

Dalam konteks pengaturcaraan, ini melibatkan proses perancangan dan juga proses perlaksanaan. Sebagai contoh, kita mahu memaparkan senarai peserta tadarus, apa yang perlu kita buat adalah buat satu fungsi untuk memanggil data dari pangkalan data. Fungsi ini sepatutnya boleh dikongsikan/digunapakai oleh fungsi-fungsi lain.

Jadi kita tidak perlu membuat pernyataan SQL yang sama berulang-ulang kali. Itu yang dimaksudkan dengan ‘Don’t Repeat Yourself’.

DRY tidak sama sekali bermaksud, kalau sudah buat validasi di bahagian PHP, kita tidak perlu buat validasi di JAVASCRIPT. Javascript untuk UI, pengguna tak perlu menunggu borang disubmit kemudian dapat respon, ‘Maklumat tidak berjaya disimpan, data A wajib diisikan’.

Jadi apa perlunya validasi pada PHP sekiranya sudah ada validasi JAVASCRIPT. Jawapannya mudah, orang boleh off JAVASCRIPT pada pelayar bila-bila masa yang dia suka. Validasi pada PHP adalah bertujuan menjaga sistem kamu sendiri dari menerima data yang tidak lengkap dan juga kemungkinan di HACKED.

Konsep DRY yang boleh dipraktikkan dalam fungsi validasi adalah, kita buat satu fungsi validasi yang boleh digunakan oleh mana-mana form dalam html kita. Ya itu namanya DRY. Kita tak buat atau copy&paste kod JAVASCRIPT ke setiap form kita.

Dengan ini saya mengharapkan tiada lagi orang yang salah faham akan konsep DRY ini.

p/s : Itu sebab orang cipta framework, sebab nak elak buat code yang sama lebih dari sekali.

Membina Bukutamu Bahagian 1 (Perancangan)

Artikel kali ini akan menceritakan bagaimana mahu membina bukutamu (guestbook). Bahagian 1 akan menceritakan bagaimana mahu merancang perjalanan bukutamu tersebut.

Bagi pembangun yang sudah mahir, membina bukutamu adalah sangat mudah. Untuk mereka yang tidak mempunyai asas, membuat bukutamu sudah cukup untuk membolehkan kamu memahami konsep asas iaitu cipta, kemaskini dan padam data yang ada didalam pangkalan data. Nama ringkas proses ini didalam bahasa Inggeris adalah CRUD dimana CR-Create, U-Update dan D-Delete. Sekiranya kamu terjumpa istilah CRUD ini dimana-mana laman sawang, janganlah terkejut.

Mengumpul keperluan.

Mengumpul keperluan serta spesifikasi sistem adalah proses asas dalam mana-mana pembangunan sistem. Mengumpul data serta spesifikasi yang betul dapat memudahkan proses pembangunan sistem kelak. Memandangkan kita hanya mahu membuat bukutamu. Maka tanya diri sendiri. Apa data yang kita nak simpan?

1. Nama / katanama
2. Alamat Emel
3. Alamat Laman Sawang
4. Komen

Aliran proses.

Setelah kita kenalpasti data apa yang ingin disimpan, Tentukan aliran proses bagi setiap proses yang ada. Cipta, Kemaskini dan Padam.

1. Cipta
Penguna masuk ke bukutamu -> Isikan semua maklumat yang diperlukan -> Pengguna klik pada butang simpan -> Simpan semua maklumat didalam pangkalan data.

2. Kemaskini
Pengguna masuk ke bukutamu -> Klik pautan kemaskini pada komen yang ingin dikemaskini -> Pengguna lakukan pembetulan -> Pengguna klik butang simpan -> Kemaskini maklumat yang berkaitan di dalam pangkalan data.

3. Padam
Pengguna masuk ke bukutamu -> Klik pautan padam pada komen yang ingin dipadam -> Paparan kepastian sama ada pengguna benar-benar mahu memadam rekod -> Jika ya padam rekod jika tidak balik ke halaman asal.

Membina Pangkalan Data

Dari proses mengumpul keperluan, kita sudah boleh mula membina pangkalan data. Bahagian ini kamu perlu lakukan sendiri, dan bezakan pangkalan data kamu dengan pangkalan data yang telah saya dibuat di bahagian kedua nanti.

Ingat nama jadual dan medan seharusnya mencermin entiti dan membawa maksud kepada data yang disimpan. Pastikan semuanya huruf kecil. Sekiranya nama medan memerlukan lebih dari 1 perkataan gunakan tanda _. Contoh laman_web.

3 proses ini merupakan proses asal dalam membina mana-mana sistem. Bagi graduan yang baru keluar dari Universiti, latih diri kalian dengan konsep ini. Menjadi pengaturcara bukan sekadar membuat kod semata-mata. Tetapi pengaturcara haruslah terlibat sama didalam proses perancangan sistem.

Selamat mencuba!

Pemasangan Apache, PHP dan MySQL pada sistem pengoperasian Windows

Sebelum kamu belajar sintaks-sintaks PHP, perkara pertama yang perlu kamu lakukan adalah memasang beberapa perisian dan pengkompil(compiler). Pertamanya kamu perlu menjadi komputer kamu menjadi sebuah pelayan(server). Ketika artikel ini ditulis, Apache versi 2.2.11 merupakan versi terkini yang stabil. Kamu boleh muat turun perisian ini di http://httpd.apache.org/download.cgi . Sila pilih apache_2.2.11-win32-x86-openssl-0.9.8i.msi untuk muat turun.

Selesai muat turun, sila larikan(run) pada fail tersebut. Skrin seperti gambar dibawah akan keluar. Klik saja pada butang Next.

Apache 01

1. Pastikan kamu memilih I accept dan kemudian klik pada butang Next.

Apache 02

2. Klik pada butang Next

Apache 03

3. Masukkan maklumat seperti yang tertera pada gambar dibawah.

Apache 04

4. Pilih Custom dan klik pada butang Next

Apache 05

5. Kita tidak mahu perisian ini dimasukkan ke dalam folder program file. Jadi klik pada butang Change. 

Apache 06

6. Taipkan C:\Web\Apache2.2\. Kemudia klik pada butang OK

Apache 07

7. Klik pada butang Next

Apache 08

8. Klik saja pada butang Install.

Apache 09

9. Skrin seperti gambar dibawah akan tertera.

Apache 10

10. Selesai semuanya, klik pada butang Finish, kemudian buka pelayar anda taip pada ruangan alamat http://localhost/. Sekiranya kamu dapat melihat seperti gambar dibawah. Kamu telah berjaya memasang perisian Apache 2.2.11 

Apache 11
Seterusnya, aku akan menunjukkan cara-cara memasang perisian MySQL pada sistem pengoperasian komputer kamu. Setakat artikel ini ditulis, MySQL sudah mencapai versi stabil 5.1.31. Sila muat turun dari http://dev.mysql.com/downloads/mysql/5.1.html

Kemudian kamu perlu klik pada pautan yang tertulis Windows. Seterusnya pilih Windows MSI Installer (x86).  Kamu akan melihat kotak log masuk. Sila scroll hingga kebawah dan klik pada No Thanks. Pilih mirror yang paling hampir dengan kamu.

Setelah selesai muat turun, sila larikan fail tersebut. Skrin akan memaparkan gambar dibawah.

MySQL011

1. Pilih Custom dan klik pada butang Next

MySQL021

2. Klik pada butang Change

MySQL031

3. Ubah direktori kepada C:\Web\MySQL\. Klik pada butang OK dan kemudian klik pada butang Next.

MySQL041

4. Klik pada butang Install

MySQL051

5. Klik pada butang Next

MySQL061

6. Klik pada butang Next

MySQL071

7. Klik pada butang Finish.

MySQL081

8. Skrin seperti gambar dibawah akan terpapar. Klik pada butang Next

MySQL091

9. Klik pada Detailed Configuration kemudian klik butang Next

MySQL111

10. Pilih Developer Machine dan tekan pada butang Next.

MySQL12

11. Pilih Multifunctional Database dan klik Next

MySQL13

12. Kamu boleh memilih untuk masukkan pilihan seperti dibawah ataupun mahu klik terus pada butang Next. Kedua-duanya akan menberikan hasil yang sama.

MySQL14

13. Pilih seperti gambar dibawah dan klik pada butang Next

MySQL15

14. Pastikan Add firewall exception for this port di tandakan untuk mengelakkan masalah port dihalang oleh firewall. Kemudian klik pada butang Next

MySQL16

15. Sila buat pilihan seperti gambar dibawah dan klik pada butang Next

MySQL17

16. Pastikan Include Bin Directory ditandakan. Kemudian klik pada butang Next.

MySQL18

17. Pastikan Modify Security Settings tidak dipilih. Awas, lakukan ini sekiranya kamu mahu gunakan pangkalan data ini hanya di komputer kamu dan untuk tujuan pembangunan sistem sahaja. Sekiranya kamu memasang perisian pangkalan data ini pada pelayan yang diakses oleh orang ramai. Jangan gunakan konfigurasi seperti ini.

MySQL19

18. Klik pada Execute kemudian Finish

MySQL20

Untuk memastikan MySQL kamu dipasang dengan betul dan berfungsi dengan baik. Klik pada Start > run. Kemudian taip cmd. Apabila kekotak command prompt telah keluar taip mysql -h localhost -u root dan tekan Enter. Sekiranya kamu dapat melihat seperti skrin dibawah, tahniah kamu telah berjaya memasang MySQL 5.1.31

MySQL21

 

Sekarang mari kita lihat bagaimana pula cara memasang pengkompil PHP dan mengkonfigurasi agar ia dapat dilarikan bersama Apache tadi. Ketika artikel ini ditulis, PHP versi stabil adalah 5.2.8 sila muat turun di http://www.php.net. Sila pilih PHP 5.2.8 zip package. Unzip fail ini kedalam direktori C:\Web\php5. Struktur folder kamu sepatutnya sudah menjadi seperti ini

C:
|–Web
|–|–Apache2.2
|–|–MySQL
|–|–php5

Selesai proses unzip, sila buka C:\Web\php5\php.ini-recomended menggunakan perisian notepad mahupun notepad++. Lihat pada baris yang tertulis doc_root dan isikan seperti dibawah

03php

Seterusnya rujuk pula pada baris yang tertulis extension_dir. Sila isikan seperti dibawah.

04php

Kemudian buang tanda ; pada baris yang tertera extension=”php_mysql.dll” dan extension=”php_mysqli.dll” bagi mengaktifkan fungsi MySQL dalam php

052

Sila simpan(save) sebagai php.ini.

Sekarang kita lihat pula C:\Web\Apache2.2\conf\httpd.conf. Buka fail ini menggunakan notepad mahupun notepad++. Cari #LoadModule vhost_alias_module. Baris berikutnya sila isikan seperti gambar dibawah bermula dari baris 128.

01apache

Kemudian cari pula <Ifmodule dir_module> dan tambah index.php serta index.htm seperti gambar dibawah.

02apache

Simpan(save) fail ini.

Sekarang kamu perlu memasukkan direktori PHP5 kedalam windows environmet. Klik pada Start kemudian halakan tetikus kamu ke My Computer. Kemudian klik kanan dan pilih Properties. Klik pada tab Advanced dan klik pada butang Environment Variables.

Pastikan pada bahagian User variables for kamu klik pada variables TEMP. Lihat pada Systems Variables, scroll sehingga kamu jumpa PATH. Klik pada PATH kemudian klik pada butang Edit. Tambah ;C:\Web\php5 di belakang sekali. Sila rujuk gambar dibawah.

062

Restart Apache kamu. Sekiranya Apache kamu berjaya dilarikan. Ini bermakna kamu telah berjaya mengkonfigurasi PHP dengan Apache kamu. Untuk kepastian yang lebih buka notepad++ kamu dan masukkan kod aturcara dibawah.

<?php
phpinfo();
?>

dan simpan sebagai phpinfo.php didalam folder C:\Web\Apache2.2\htdocs\. Buka pelayar kamu dan taip http://localhost/phpinfo.php sekiranya kamu berjaya nampak sebuah mukasurat yang ada tertera beberapa info berkaitan php. Tahniah kamu telah berjaya.

Opss selepas semua itu baru aku mahu katakan pada kamu. Ada cara yang lebih mudah. Muat turun sahaja Xampp dari sini http://www.apachefriends.org/en/xampp.html.

Konsep Pelanggan, Pelayan & Pengkalan Data (Client,Server & Database Concept)

Sebelum aku terus memberikan tutorial mengenai pengaturcaraan laman web, biarlah aku menerangkan serba- sedikit bagai ianya berfungsi. Bagi yang sudahpun mengetahui mengenai konsep pelanggan(client), pelayan (server) dan juga pengkalan data (database) mungkin akan mendapati artikel pada kali ini agak membosankan.

1. Pelanggan – ialah komputer yang mengakses sesuatu laman web. Sebagai contoh komputer yang kamu gunakan. Tidak kisahlah sama ada kamu menggunakan pelayar (browser) Internet Explorer ataupun Mozilla Firefox untuk melihat laman web, kamu tetap dikira sebagai pelanggan.

2. Pelayan – ialah komputer yang membenarkan kamu mengakses laman web menerusi pelayar yang kamu gunakan. Segala fail-fail laman web akan disimpan di pelayan. Sebagai contoh laman web ini. Kesemua fail-fail yang berkaitan disimpan di pelayan dan kamu boleh mengaksesnya.

3. Pengkalan Data – ialah komputer yang menyimpan data. Kebiasaannya pengkalan data menyimpan data-data sahaja. Sebagai contoh segala teks yang ada di artikel ini. Ianya disimpan di pengkalan data bagi memudahkan pengurusan data.
clientserverdatabase1

Merujuk kepada gambar diatas, warna merah menggambar setiap permohonan (request) yang dihantar kepada pelayan dan juga pengkalan data. Warna biru pula menggambarkan permohonan yang dijawab (response) oleh pelayan mahupun pengkalan data untuk setiap permohonan yang dihantar.

Senario. Kamu menaip http://syarman.com/soft/ pada pelayar kamu. Secara automatik, kamu telah menghantar permohonan kepada pelayan. Pelayan akan mencari fail-fail yang kamu mohon dan akan memprosesnya. Sekiranya fail-fail tersebut berkehendakkan data dari pengkalan data, pelayan pula akan menghantar permohonan kepada pengkalan data. Hasil dari jawapan permohonan kamu itu, artikel ini dapat kamu baca.

Setiap kali kamu mengklik pada pautan (hyperlink) setiap kali itu juga kamu menghantar permohonan kepada pelayan.

Harap kamu dapat memahami artikel ini. Ada sebab kenapa ianya di taip di dalam bahasa Melayu sepenuhnya. Aku mahu kita membiasakan diri dengan istilah teknikal di dalam bahasa Melayu.