HARIFIN A. TUMPA TERPILIH MENJADI KMA

JAKARTA-HUMAS. Wakil Ketua Mahkamah Agung Bidang Non Yudisial, Harifin A. Tumpa, ditetapkan menjadi ketua Mahkamah Agung Terpilih dalam rapat paripurna Mahkamah Agung dengan agenda khusus pemilihan ketua [...]

MA Hukum 17 Hakim Nakal

JAKARTA-HUMAS. Mahkamah Agung menjatuhkan sanksi kepada 17 orang Hakim `nakal` di berbagai Pengadilan yang ada di Indonesia, setelah mereka terbukti melakukan pelanggaran dalam menunaikan tugasnya [...]

KMA, WKMA BIDANG YUDISIAL DAN WKMA BIDANG NON YUDISIAL MENGUCAPKAN SUMPAH DI HADAPAN PRESIDEN - RI.

JAKARTA-HUMAS, Selasa, 10 Februari 2009 Ketua Mahkamah Agung Harifin A Tumpa, Wakil Ketua Bidang Yudisial Abdul Kadir Mappong dan Wakil Ketua Bidang Non Yudisial Ahmad Kamil, mengucapkan sumpah [...]

KABUA : “BARANG MILIK NEGARA HARUS ADA ADMINISTRASINYA”

JAKARTA-HUMAS. “Penatusahaan SABMN seluruh Pengadilan haruslah secara kontinyu, dan asset yang dimiliki di masing-masing Eselon I mulai saat ini sudah jelas kepemilikannya dan sudah selayaknya [...]

KERJASAMA RI-AS DI BIDANG PERADILAN

WASHINGTON DC-HUMAS. Hubungan Amerika Serikat dan Indonesia beberapa tahun belakangan ini berjalan semakin baik. Banyak hal dari Indonesia, seperti masalah penanganan HAM, pelaksanaan supremasi hukum, pemberantasan korupsi dan lain-lain [...]

Acara Syukuran Peningkatan Kelas

Jepara, Acara syukuran kenaikan kelas I B yang diselenggarakan pada tanggal 09 Desember 2008 bertempat di Pengadilan Negeri Jepara, JL. KHA. FAUZAN No. 04 Jepara,berlangsung sangat meriah dan lancar sampai selesainya acara [...]
Google
Google Eko Budhi Harto
ip-location

Lebih dalam dengan OOP


Sudah lama tidak berjumpa. Rindu rasanya tidak bersua. :D~ Pada
tutorial sebelumnya staff ilmuwebsite yakni ivan telah menjabarkan apa
dan bagaimana penggunaan class pada PHP,
begitu juga dengan yang akan penulis lakukan sekarang. Kali ini penulis
akan mencoba melakukan sedikit implementasi dari tutorial-tutorial
sebelumnya, sekaligus menjelaskan bagaimana source code ini berjalan.
Tapi sebelumnya penulis akan melakukan review terlebih dahulu mengenai
pengetahuan sebelumnya.

Apa sih OOP itu ? Untuk apa ?
OOP
singkatan dari Object Oriented Programming, keistimewaan dalam
pembungkusan memudahkan para programmer mengarungi lautan kehidupan
dalam meng-coding ria bersama istri tercintanya, sebuah mesin penuh
dengan baut, komputer :D~. Ada beberapa istilah inti dari keistimewaan
OOP ini, yang paling menarik adalah class, property, method, inheritance, polymorphisme, dan encapsulation. Apa itu ?!! :D~
Class
ini merupakan template untuk objek yang akan dibuat nantinya. Kalau
diambil contoh dalam kehidupan sehari-hari. Hmmmm … contoh kasusnya
memasak mie. :D~.
Templatenya adalah satu keutuhan cara memasak si mie tersebut.
Sedangkan property-nya
atau variable adalah berapa banyak bumbu pedas yang dibutuhkan, berapa
banyak minyak yang dibutuhkan, berapa banyak air yang dibutuhkan,
berapa banyak bawang gorengnya, etc.
Method
sendiri itu sama halnya dengan fungsi yakni bagaimana caranya mie
dimasak. Seperti, apakah bumbunya akan dimasukkan kedalam mangkuk
terlebih dahulu, atau apakah bumbunya akan di satukan dengan air yang
berada di dalam panci. Atau mungkin bisa saja bumbunya langsung
dimasukkan kedalam perut yang memasaknya. :D~ ( kebanyakan coding jadi
stress ) :D
Inheritance,
dalam istilah bahasa indonesianya dikenal dengan turunan. Jelasnya
turunan ini berasal dari suatu kelas induk. Kalo diambil contoh dalam
memasak mie, masing-masing orang punya keunikan tersendiri dalam
memasak mie, seperti dalam memasak mie ada orang yang mengikuti aturan
memasak mie, ada juga yang senang di tambah dengan telur, atau mungkin
kalo ada yang suka bisa saja martabak keju dimasukkan kedalam mie
tersebut. Tapi penulis nggak yakin rasanya, akan seperti apa nantinya
:D~~
Sedangkan polymorphisme
itu gaya dalam memasak mie itu sendiri, bisa saja ketika memasak mie
telurnya itu ditambah dengan kecap manis, atau sambal pedas, atau
mungkin terasi. Bisa saja. Iya kan ??~ :D Atau juga, ada yang suka
mienya pedas, atau mungkin saja ada yang senang dengan mie rasa manis,
mie ditambah gula-gula. Semua bisa saja terjadi.

Nah dari situ
timbul satu pertanyaan besar, sebenarnya OOP itu untuk apa sih ? Apakah
OOP itu sebagai standarisasi cara memasak mie. :D~
OOP sering
digunakan dalam pembuatan aplikasi besar, dimana ketika penambahan
fitur terbaru fungsi encapsulation atau pembungkusan dalam class ini
sangat berperan penting. Keuntungan lain adalah maintenance ketika ada
bug yang bercokol dalam coding ataupun maintenance jenis lain. Dengan
mudah terkontrol. Dan menghasilkan coding yang lebih efisien. Contoh
nyata OOP yaitu button. Turunan button seperti bit button, push button
dan lain-lain. Dimana button-button tersebut sebenarnya adalah bentuk
lain dari button induk yang telah di berikan fitur-fitur tambahan.

Implementasinya
sudah jelas bukan ? Sekarang penulis akan memberikan sedikit contoh
coding menggunakan OOP dalam pembuatan guest book. Dan juga akan
dikenalkan sedikit mySQLi API yakni library atau pustaka yang digunakan
oleh OOP dalam menghandle database nantinya.

Yups, langsung saja.
Pertama, buat databasenya terlebih dahulu.

File db.sql : create database oop1 ; use oop1 ; create
table gb ( id int(5) auto_increment primary key , nama varchar(50),
email varchar(50), lokasi varchar(75), komentar text );


Kedua file class.konek.db.php : <?php /* ILMUWEBSITE E-LEARNING COMMUNITY Tutorial PHP - Object Oriented Programming by : Al-k [ Loka Dwiartara ] email : alkemail@gmail.com homepage : http://www.ilmuwebsite.com */ // Class atau Template class konek_ke_database { // property private $host; private $username; private $password; private $koneksinya; private $database; // method function __construct($hostnya, $usernamenya, $passwordnya) { $this->host = $hostnya ; $this->username = $usernamenya ; $this->password = $passwordnya ; $this->koneksinya = mysql_connect($this->host, $this->username, $this->password) or die("mySQL Errorrojing !!!"); } function databasenya($pilihdatabase) { $this->database = $pilihdatabase; } public function seleksi_database() { mysql_select_db($this->database, $this->koneksinya ) or die ("Nggak bisa konek euy!!!"); header("location: index.php"); } } ?>

Kemudian file class.isi.db.php, script ini yang nantinya sebagai tulang punggung antara form isian, dan databasenya : <?php /* ILMUWEBSITE E-LEARNING COMMUNITY Tutorial PHP - Object Oriented Programming by : Al-k [ Loka Dwiartara email : alkemail@gmail.com homepage : http://www.ilmuwebsite.com */ require_once "class.konek.db.php"; // Class class displayDatabase extends konek_ke_database { // property private $perintah; private $nama; private $email ; private $lokasi ; private $isikomentar; // method public function filter_database($nm_user, $email_user, $lokasi_user, $komentar_user) { $this->nama = wordwrap(strip_tags($nm_user, ''), 80,"n",1); $this->email = wordwrap(strip_tags($email_user, ''), 80,"n",1); $this->lokasi = wordwrap(strip_tags($lokasi_user, ''), 80,"n",1); $this->isikomentar = wordwrap(strip_tags($komentar_user, ''), 80,"n",1); } function insert_database($tabel) { $this->perintah
= "insert into $tabel values ('','$this->nama', '$this->email',
'$this->lokasi', '$this->isikomentar')";
$run_perintah = mysql_query($this->perintah); if ($run_perintah) { // print "Isi Database Berhasil"; } } } ?>

Dan terakhir adalah file index.php :
<?php /* ILMUWEBSITE E-LEARNING COMMUNITY Tutorial PHP - Object Oriented Programming by : Al-k [ Loka Dwiartara ] email : alkemail@gmail.com homepage : http://www.ilmuwebsite.com */ require_once "class.isi.db.php"; $nama = $_POST['nama']; $email = $_POST['email'] ; $lokasi = $_POST['lokasi']; $komentar = $_POST['komentar']; if ($_REQUEST['comment'] == "yes") { if (ISSET($_POST['nama'])) { $mahasiswa = new displayDatabase("localhost","root",""); $mahasiswa->databasenya("oop1"); $mahasiswa->seleksi_database(); $mahasiswa->filter_database($nama,$email,$lokasi,$komentar); $mahasiswa->insert_database("gb"); } } else { // Database dalam OOP // mySQLi API $mysqli = new mysqli("localhost", "root", "", "oop1"); if (mysqli_connect_errno()) { echo("Nggak bisa konek !!!".mysqli_connect_error()); exit(); } $hasil = $mysqli->query("select * from gb"); while ($data = $hasil->fetch_object()) {
echo
"$data->nama<br>$data->email<br>$data->lokasi<hr
align=left size=1 width=80% color=#000000>";
} } ?> <html> <head> <title>GuestBook</title> </head> <body> <b>Isi Komentar :</b> <table border=0><form method = 'POST' action = <?php echo "$_SERVER[PHP_SELF]?comment=yes" ?> > <tr><td>Nama:</td><td><input type=text name=nama></td></tr> <tr><td>Email:</td><td><input type=text name=email></td></tr> <tr><td>Lokasi:</td><td><input type=text name=lokasi></td></tr>
<tr><td
valign=top>Isinya:</td><td><textarea rows=6 cols=40
name=komentar></textarea></td></tr>
<tr><td></td><td><input type=submit name=submit value=Kirim
style='color: #000000; border: 1px solid #000000; background-color:
#DFDFDF'></td></tr></form></table>
</body> </html>
Dari
situ, penulis akan mencoba menjelaskan script tersebut, namun hanya
mengambil garis besarnya saja. Dimulai dengan script
class.konek.db.php. Disarankan, untuk kedepannya dalam pembuatan kelas
diletakan dalam file yang berbeda, hal ini sangat memudahkan dalam
maintenance nantinya.
Yups, dalam file class.konek.db.php terdapat satu kelas konek_ke_database. Di dalamnya terdapat property :
$host, $username, $password, $koneksinya, dan $database. Lengkapnya seperti ini :
…. class konek_ke_database { private $host; private $username; private $password; private $koneksinya; private $database; ….
Ada
keyword private disana, modifier private ini hanya dapat di akses oleh
method yang berada dalam kelas ini, maupun turunannya. Private
konsepnya hampir sama dengan hak akses suatu file, metodenya saja yang
berbeda. Kita telusuri lagi lebih jauh, penggunaan seperti pengambilan
isi atau pun assignment ( pengisian ) property dalam suatu
method/fungsi, cukup dengan menggunakan keyword $this->property-nya.

Script contohnya : function __construct($hostnya, $usernamenya, $passwordnya) { $this->host = $hostnya ; $this->username = $usernamenya ; $this->password = $passwordnya ;

Ini berarti isi property $host dengan isi variable $hostnya.

Sebagai Contoh :
function __construct("localhost", "root", "") { $this->host = $hostnya ; $this->username = $usernamenya ; $this->password = $passwordnya ; echo $this->host ;
hasilnya menjadi

localhost

Gimana ? Gampang kan ! Ada satu lagi istilah aneh di sana. __construct.
function __construct($hostnya, $usernamenya, $passwordnya) {
Ini merupakan method yang otomatis di eksekusi ketika pembuatan objek berlangsung. Penggunaanya seperti ini :

…. class displayDatabase { …. function __construct($hostnya, $usernamenya, $passwordnya) { $this->host = $hostnya ; $this->username = $usernamenya ; $this->password = $passwordnya ; $this->koneksinya = mysql_connect($this->host, $this->username, $this->password) or die("mySQL Errorrojing !!!"); } } $mahasiswa = new displayDatabase("localhost","root","");

Yups, untuk selanjutnya cukup mudah dipelajari karena konsepnya sama saja dengan pemrogaman procedural yang biasanya.

Nah Selanjutnya kita pindah ke script class.isi.db.php :
require_once "class.konek.db.php"; class displayDatabase extends konek_ke_database { private $perintah; private $nama; private $email ; private $lokasi ; private $isikomentar; public function filter_database($nm_user, $email_user, $lokasi_user, $komentar_user) { $this->nama = wordwrap(strip_tags($nm_user, ''), 80,"n",1); $this->email = wordwrap(strip_tags($email_user, ''), 80,"n",1); $this->lokasi = wordwrap(strip_tags($lokasi_user, ''), 80,"n",1); $this->isikomentar = wordwrap(strip_tags($komentar_user, ''), 80,"n",1); }


Di
sini jelas terlihat jika class displayDatabase extends
konek_ke_database, atau dengan kata lain kelas displayDatabase adalah
subclass atau anak turunan dari kelas konek_ke_database. Dalam
penggunaannya cukup dengan menggunakan modifier extends di tambah
dengan class induk dibelakang kelas turunannya.

Nah penulis
akan loncat lagi ke script index.php. Di sini beberapa kalimat yang
diambil dari mySQLi api. Sebuah pustaka OOP pada PHP 5 dalam menghandle
database. Caranya lebih cepat, mudah, dan tentunya efisien.
$mysqli = new mysqli("localhost", "root", "", "oop1"); if (mysqli_connect_errno()) { echo("Nggak bisa konek !!!".mysqli_connect_error()); exit(); } $hasil = $mysqli->query("select * from gb"); while ($data = $hasil->fetch_object()) { echo "$data->nama<br>$data->email<br>$data->lokasi<hr align=left size=1 width=80% color=#000000>"; }

Untuk membuat suatu koneksi cukup dengan membuat instance/objek baru.
$mysqli = new mysqli("localhost", "root", "", "oop1");

Kemudian berikan perintah dalam bentuk query.
$hasil = $mysqli->query("select * from gb");

Dan tampilkan isi databasenya
while ($data = $hasil->fetch_object()) { echo "$data->nama<br>$data->email<br>$data->lokasi<hr align=left size=1 width=80% color=#000000>"; }

Lebih
mudah tentunya !! Yups, cukup sekian mengenai tutorial “Lebih dalam
dengan OOP episode 1”. Anda bisa mengembangkan kelas-kelas tersebut
dengan mudah tentunya.

Selanjutnya akan dijelaskan lebih jauh penggunaan OOP untuk menghandle database. Sekian. Terima Kasih.

File-file tersebut dapat di download disini.

Shoutz : b_scorpio, abu_zahra, safril, ivan, fadli, dr.emi, ilmuwebsite community.
For jojo. Hi, jo. :D

Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Lebih dalam dengan OOP

Artikel yang berhubungan :



0 komentar

Tes Kecocokan

+ =

Recent Comment