Social Icons

twitterfacebookgoogle pluslinkedinrss feedemail

Wednesday, 8 July 2015

Review Jurnal tentang PHP

Review Jurnal tentang PHP
Malik Abdul Aziz / 55413249
Universitas Gunadarma

Abstrak
Dalam membangun sebuah aplikasi web, anda tentunya sudah pernah memetakan bagian-bagian dari sebuah website, ada login pengguna, registrasi pengguna, halaman berita, pencarian database, dsb. Dari itu semua anda dituntut harus dapat memandang sebuah website sebagai objek-objek software yang tergabung menjadi satu dan saling berhubungan objek satu dengan objek yang lainnya. Membuat database pun banyak caranya ada yang menggunakan MS Acces, MySQL, Oracle, Paradox, dBase dan lain sebagainya. Semua database itu dapat dihubungkan dengan ODBC. Setelah memahami bahasa PHP dan menghubungkan ke database kita dapat membuat sebuah website yang dinamis.
Kata Kunci : web, PHP, ODBC, database

Pendahuluan
PHP (Hypertext Prepocessor) diciptakan oleh Rasmus Lerdorf seorang pemrogram C, dan digunakan untuk mencatat jumlah pengunjung pada homepage-nya. Pada awal tahun 1995 dirilis PHP/FI (Form Interpreter) yang memiliki kemampuan dasar membangun aplikasi web, memproses form dan mendukung data mySQL.

Karena antusiasme pengguna internet yang begitu besar, ahirnya pada pertengahan tahun 1997 Rasmus Ledorf menyerahkan pengembanganya kepada sebuah tim pemrograman dalam kerangka open source dan oleh Zeev suraski dan Andi Gutmans, parsernya ditulis ulang kembali menjadi bentuk program parser baru yaitu PHP 3.0 yang memiliki dukungan lebih luas lagi
terhadap database yang ada termasuk mySQL dan Oracle.
PHP versi 4.0 kemudian dirilis setelah itu dengan menggunakan mesin scripting Zend (akronim dari pengembangnya Zeev suraski dan Andi Gutmas) dan telah mampu mendukung server apache dan secara built-in telah mampu menangani manajemen session. Ada dua macam PHP yang sekarang dikenal luas dikalangan web developmer yaitu PHP 3 dan PHP 4. PHP 3 adalah bahasa PHP yang pertama kali dibuat dan cocok untuk membuat website yang tidak terlalu komplek dan besar.sedangkan PHP 4 (versi-4) adalah bahasa PHP yang didalamnya sudah dilengkapi dengan Zend engine sehingga lebih cepat, kuat, stabil, mudah untuk berinteraksi dengan berbagai jenis aplikasi pendukung lainya seperti mySQL, java, FTP client, ODBC dll.
PHP versi 4 memiliki ekstention yang lebih sederhana dan mudah dipergunakan serta kompatibel dengan PHP versi 3. PHP 4 sering dipakai untuk membangun webcontent karena dapat menangani website yang besar, kompleks dan menerima jutaan hit perhari.
Berdaskan informasi dari situs resmi PHP, “PHP.net”. PHP (PHP: HypertextProccesor) merupakan bahasa pemrograman web yang disisipkan dalam script HTML (Hypertext Markup Language) dan banyaknya sintak di dalamnya mirp dengan bahasa C, Java dan Perl. Tujuan dari bahasa ini adalah membantu para pengembang web untuk membuat web dinamis secara cepat.
PHP adalah sebuah bahasa Scriptserver-side yang biasa digunakan dengan bahasa HTML atau dokumenya secara bersamaan untuk membuat sebuah aplikasi di web yang sangat banyak kegunaannya. PHP merupakan bahasa yang digunakan dalam HTML dan bekerja pada sisi server, artinya sintak dan perintah yang diberikan akan dijalankan di server tetapi
disertakan pada halaman HTML biasa sehingga script-nya tak tampak pada sisi client.

Isi Jurnal 1
Dalam membangun sebuah aplikasi web, anda tentunya sudah pernah memetakan bagian-bagian dari sebuah website, ada login pengguna, registrasi pengguna, halaman berita, pencarian database, dsb. Dari itu semua anda dituntut harus dapat memandang sebuah website sebagai objek-objek software yang tergabung menjadi satu dan saling berhubungan objek satu dengan objek yang lainnya. Sebagai contoh, dalam Operating System Windows pasti anda sudah sangat mengenal sekali hal-hal seperti berikut ini (c:/windows/system, c:/windows/system32, c:/windows/fonts, c:/program files, registry). Itu semua adalah komponen utama windows untuk dapat menjalankan fungsinya. Begitupun juga hal itu berlaku bagi website anda, dan anda harus membuat semua komponen dasar aplikasi website anda, oops…. (ayo semangat, Jangan cepat menyerah dong…. ).
Persiapan pertama adalah pembuatan file konfigurasi. File konfigurasi dalam hal ini adalah file konfigurasi yang menampung data-data konfigurasi sistem, seperti koneksi database, direktori web, session, dsb. Sebetulnya pembuatan file konfigurasi dapat bebas formatnya, anda dapat menggunakan variable ataupun konstanta. Sebagai contoh berikut ini adalah isi konfigurasi pada framework yang saya buat
[SITE]
DOMAIN_NAME = myblog.com; *
SITE_TITLE = This is my website
WEB_ADMIN = /admin
[SYSTEM]
SUB_DIR = /
SYS_DIR = /lib/php4; * direktori tempat library class
USE_SSL = false
DOC_PATH = /home/www/mywebsite ; * root directory of your website located on the server
JS_DIR = /lib/js
CACHE_DIR = /cache;
[LOG]
ERROR_LOG = /logs/error.log
PROCESS_LOG = /logs/process.log
DB_ERROR_LOG = /logs/dberrors.log ;
[SQL]
DB_DRIVER = mysql
DB_HOST = localhost
DB_PORT = 3306
DB_NAME = test
DB_USER = root; * Username to connect to MySQL server
DB_PASS = test; * Password
DB_PREFIX = sys ; * if you use spesific name on your tables define it here
[SESSION]
STORAGE_TYPE = SESS_FILES; (PHP_DEFAULT, SESS_FILES, SESS_DB) 3 types session model
USE_PHP_DEFAULT_HANDLER = true;
SESS_TMP_DIR = /session_data ;
SESS_NAME = SESSID ;
COOKIE_PATH = / ; *
COOKIE_LIFETIME = 60; valid for n minutes *
COOKIE_DOMAIN = ; example : .domain.com is set for entire sub domain *
COOKIE_SECURE = 0; use only for SSL Connection *
Format file konfigurasi seperti yang terlisting diatas memakai format seperti INI file pada windows. Untuk memparsing file konfigurasi ini dapat memakai perintah PHP parse_ini_file atau kita dapat memparsing sendiri dengan menggunakan Regular Expression.
Daftar konfigurasi diatas dibagi-bagi ke dalam sub section seperti halnya INI file pada windows. Sub section yang terlisting diatas ditaruh dalam satu file bernama config.ini.php (harap ditambahkan ekstensi .php agar file konfigurasi tidak dapat didownload), per sub section merupakan kumpulan konstanta yang digunakan oleh class-class objek dalam framework.
Hal berikut yang harus kita persiapkan adalah membuat library untuk framework kita, fungsi yang paling mendasar dari web dinamis adalah fungsi koneksi ke database.
Anda mungkin pada waktu memprogram dengan PHP selalu berpedoman pada PHP manual, dan database yang anda gunakan akan sangat bervariasi tergantung dari kebutuhan user, jika framework yang akan anda buat ingin dapat mensupport semua jenis database server maka anda harus membuat dahulu skema class abstract yang berfungsi untuk perantara masing-masing database server.
Dalam artikel ini saya menyajikan database mysql sebagai contoh karena secara default di PHP 4 sudah tersedia fungsi-fungsi mysql tersebut, di PHP 5 fungsi mysql harus disertakan dengan meng-enable ekstensi php_mysql.dll (Windows) atau php_mysql.so (Linux) pada setting php.ini.
Dari fungsi bawaan php ini kita dapat merangkum fungsi-fungsi database tersebut ke dalam satu kesatuan objek. Sebelum kita mulai membuat class mysql ada baiknya kita simak abstract class rdbms berikut ini yang berisi perintah-perintah dasar dalam konteks fungsinya sebagai Objek database.
class rdbms {
var $dbname;
var $dbhost;
var $dbusername;
var $dbpassword;
var $dbport;
function __create(){ // user defined constructor class
// konstanta diambil dari hasil parsing file konfigurasi
if(defined('DB_HOST')) $this->dbhost = DB_HOST;
if(defined('DB_USER')) $this->dbusername = DB_USER;
if(defined('DB_PASS')) $this->dbpassword = DB_PASS;
if(defined('DB_NAME')) $this->dbname = DB_NAME;
if(defined('DB_PORT')) $this->dbport = DB_PORT;
}
function Connect(){}
function TestConnection($dbname,$dbhost,$dbuser,$dbpassword){}
function Select($fields,$table,$exp='',$page='',$limit='',$urlquery=''){}
function Insert($table,$fields,$values){}
function Update($table,$value,$exp=''){}
function Delete($table,$exp=''){}
function Query($command,$return_result=0){}
function TableExists($tablename) {}
function DropTable($tablename) {}
function Disconnect() {}
}
Abstract class diatas adalah daftar fungsi-fungsi yang sering kita lakukan pada saat berhubungan dengan database. Arti dari abstract class disini adalah sebuah class yang memiliki daftar procedure / fungsi tetapi belum di implementasikan (belum berisi kode), dan metode ini memiliki perintah koneksi yang berbeda-beda tergantung dari database server yang dipakai, dan hal ini diimplementasikan pada class turunannya. Dari struktur class abstract diatas kita dapat mengimplementasikannya ke dalam database mysql server.
Berikut ini adalah class mysql yang diturunkan dari class abstract rdbms.
class mysql extends rdbms {
function mysql() {
parent::__create(); // panggil constructor parent class (rdbms)
if($this->Connect()) {
if(!defined("__MYSQL")) define(”__MYSQL”, 1);
} else {
die(‘koneksi ke database mysql gagal’);
}
}
function Connect() {
if($this->dbport != '3306') $this->dbhost .= ':' . $this->dbport;
$this->db = @mysql_connect($this->dbhost,$this->dbusername,$this->dbpassword);
if($this->db) {
if(@mysql_select_db($this->dbname)) {
$this->connected = true;
return true;
} else return false;
} else {
return false;
}
}
}
…. dst
}
Harap diperhatikan di fungsi bernama mysql diatas di php 4 akan dianggap sebagai class constructor, jangan bingung dengan class constructor __create di parent classnya (rdbms). Karena di php 4 pada saat menginisiasi objek, metode constructor asal dari parent class tidak dieksekusi secara otomatis. Perhatikan juga fungsi Connect diatas, kita dapat melihat implementasi penurunan class berdasarkan jenis database server. Dari abstract class rdbms anda dapat menurunkan ke database Firebird, postgreSQL, MsSQL server, dll, dengan tidak kuatir merubah fungsionalitas dasar yang di deklarasikan di rdbms. Jadi disini perintah SQL anda akan tetap sama meskipun database server yang anda pakai diganti dengan database server yang lainnya selama struktur field database anda masih sama dan database server sama-sama mensupport SQL command standard.
Apabila ada fitur spesifik khusus untuk database server tertentu anda hanya tinggal
menambahkan fungsi di dalam class turunannya. Jika anda masih bingung mengenai penurunan (inheritance), contoh berikut ini adalah versi gampangnya.
class one {
function one() {
echo 'This is One';
}
}
class two extends one {
function two() {
echo 'This is Two';
}
}
$t = new two; // seharusnya output menghasilkan This is One This is Two
// tetapi output hanya menghasilkan This is Two
Topologi object oriented seperti itu akan anda jumpai jika anda pernah memprogram dalam bahasa C++ atau Delphi.
Sehingga pendeklarasian class anak harus menyertakan metode constructor parent classnya sebagai berikut
class one {
function one() {
echo 'This is One';
}
}
class two extends one {
function two() {
parent::one();
echo 'This is Two';
}
}
$t = new two; // output menghasilkan This is One This is Two
Sampai disini anda diharapkan dapat mengembangkan class turunan dari masing-masing database server. Atau anda dapat langsung mempelajari class database ini langsung dari framework yang saya buat (terlampir).
Diharapkan nantinya framework class yang kita buat akan dapat mengcover fasilitas upload, session, user account, import-export database, web service, dll.
Isi Jurnal 2
Sebelum membuat DSN terlebih dulu harus dibuat database yang akan digunakan dalam
aplikasi jaringan ini di program MS Acces. Caranya seperti lihat pada halaman berikut. Dan
simpanlah database yang anda buat ke dalam directori : C:/apache/Acces/pemasaran.mdb
Untuk membuat DSN caranya adalah sbb :
 Pilih menu Star > Setting > Control Panel
Maka muncul menu sbb:
Membuat Database pemasaran diakses
Buatlah Database dengan nama pemasaran dalam MS Access yang terdiri dari 4 table seperti pada gambar diatas.
 Pilih menu Administrative Tools (untuk windows 2000 prof, XP)
 Lalu pilih ODBC Data Source
 Untuk Windows 98 dari Control Panel langsung Pilih Menu ODBC Data Source (32Bit)
 Pilih Tab System DSN
 Pilih Add untuk membuat DSN baru
 Pilih Driver Do Microsoft Acces(*.mdb)
 Lalu pilih dan tekan tombol Finish maka akan muncul menu sbb:
 Isilah Nama Data Source(Nama Bebas) Nama data source inilah yang nantinya digunakan untuk menghubungkan ke Database. Contoh Nama Jur_Pemasaran
 Isilah Description(Bebas)yaitu keterangan Nama DSN
 Lalu pilih Database > Tombol select dan akan muncul tampilan
 Pilih database yang telah anda buat misalkan disini namanya pemasaran.mdb yang diletakan pada directori C:\Apache\Acces\pemasaran.mdb
 Pilih ok
 Sudah selesai dan nanti Database Nama akan muncul pada menu berikut:
Isi Jurnal 3
Sebelum website diupload ke hosting dengan domain yang gratis maupun berbayar, tentunya harus kita develop dan uji di PC kita terlebih dahulu. Untuk upload file, biasanya saya gunakan Filezilla yang dapat anda download secara gratis. Sedangkan host local pada computer anda carilah aplikasi WAMPP, XAMPP atau lainnya. Biasanya yang saya gunakan XAMPP karena lebih user-friend dan familiar. Untuk men-generate halaman-halaman web kita gunakan PHP-Maker
PHP-Maker yang paling sederhana dan mudah untuk dimodifikasi hasilnya adalah PHP-Maker versi 1.
1. Instalasi.
Sebagaimana kami sampaikan, PC atau Laptop anda harus terinstal XAMPP, PHP-Maker dan Filezilla. Silahkan download melalui hyperlink diatas.
Setelah itu, jalankan XAMPP dan buatlah database misalnya ingin membuat web-berita:
Biarkan data masih kosong, karena, nanti dapat kita isi, edit maupun hapus melalui aplikasi PHP-Maker.
2. Membuat halaman web.
PHP-Maker yang telah kita install di PC / laptop kita jalankan, akan muncul tampilan seperti gambar dibawai ini :
Tekan “Connect” akan muncul pop-up dan ketikkan nama folder yang akan kita gunakan untuk menjalankan website. Kemudian tekan OK.
Pada kolom menu, akan muncul tree-menu yang meliputi, nama database, table, dan field-field yang telah kita buat. Untuk sementara dan gampangnya pada tahap awal ini langsung saja kita generate dengan menekan horizontal menu diata “generate” dan tombol “generate PHP” yang ada dibawah
OK, halaman website kita sudah jadi, tinggal dipindahkan ke localhost. Caranya cari di drive C, pada folder PHPMaker terdapat subfolder Project dan didalamnya terdapat sub-subfolder nama yang kita masukkan waktu proses connect, dicopy aja, lalu di-paste kedalam XAMPP/htdocs/
Selanjutnya kita panggil melalui browser :http://localhost/nama sub-subfolder tadi, muncullah halam web awal yang sederhana, termasuk terdapat menu-menu Add untuk mengisi data pada database, Edit, untuk merubah isi data, Dellete untuk menghapus dan View untuk melihat data secara lengkap.
KESIMPULAN
Tujuan pemrograman menggunakan class adalah code reuse, yang berarti kode program anda dapat di gunakan kembali untuk project-project web yang lainnya. Karena pada intinya dalam sebuah program yang berhubungan dengan database, variable yang selalu berubah-rubah adalah struktur database dan user
interface. Dimana struktur database dan tampilan user interface ini selalu mengikuti alur business process dari pengguna program anda.
Mungkin ada beberapa diantara pembaca menganggap bahwa buat apa membuat sendiri dan bersusah payah karena yang instant saja sudah banyak tersedia dan pekerjaan dapat kelar tepat waktu, anda mungkin benar tapi pernahkah anda mengalami suatu kejadian dimana ada sebuah permintaan penambahan fitur dari klien/pengguna yang dimana hal itu menyebabkan anda mau tidak mau harus merubah core dari framework yang anda pakai, dan anda dituntut harus mempelajari semua dalam waktu singkat. Pasti anda kelabakan jika mengalami hal ini, beda dengan jika anda yang membuat framework itu semua, dan anda tahu betul letak-letak dimana harus merubah sebuah modul yang diminta oleh klien anda tadi. Tetapi intinya kita harus bisa mandiri dan akhirnya pilihan terakhir adalah tergantung pada anda sendiri.
Uraian diatas masih menghasilkan halaman website yang sangat sederhana sekali, namun proses pembuatan halaman ini sangat penting untuk menuju halaman web yang lebih dinamis dan menarik dengan beberapa editing source-code PHP-nya.

DAFTAR PUSTAKA
Ardian, Benediktus. “Membuat Framework Class dengan OOP PHP”. 25 Juni 2015. http://www.ilmukomputer.org/2008/09/01/membuat-framework-class-dengan-oop-php-%E2%80%93-bagian-1/
Ali, Muhamad. “Mengakses Database pada PHP Melalui ODBC”. 25 Juni 2015. http://www.ilmukomputer.org/2006/08/25/mengakses-database-pada-php-melalui-odbc/
Subardjo, Agus. “Membangun Website Dinamis Berbasis PHP-mySQL”. 25 Juni 2015.http://www.ilmukomputer.org/2012/06/23/membangun-website-dinamis-berbasis-php-mysql/

No comments:

Post a Comment