Pengertian PDO dan Cara Mengaktifkan PDO Extension


Apabila Anda mengikuti tutorial di yukcoding.blogspot.com, hingga saat ini kita telah mempelajari penggunaan mysql extension dan mysqli extension. Selain kedua metode ini, terdapat 1 lagi cara untuk menghubungkan antara PHP dengan MySQL, yakni menggunakan PDO extension. Dalam tutorial kali ini kita akan membahas lebih dalam tentang PDO.

Pengertian PDO (PHP Data Objects)

PDO (PHP Data Objects) adalah interface universal yang disediakan PHP untuk “berkomunikasi” dengan database server. Maksud istilah “interface universal” disini adalah bahwa PDO tidak terikat dengan aplikasi database tertentu. Apabila saat ini kita menggunakan database MySQL dan dikemudian hari ingin bermigrasi menggunakan PostgreSQL, kita hanya tinggal mengganti cara pemanggilan awal PDO dan seluruh kode program yang ada bisa langsung digunakan untuk database baru.
Kondisi ini berbeda jika menggunakan mysql extension atau mysqli extension. Kedua extension ini hanya bisa bekerja dengan database MySQL. Karena alasan inilah banyak sebaiknya kita mulai beralih menggunakan PDO dibandingkan mysqli.
Secara teknis, apabila menggunakan mysql atau mysqli extension, PHP langsung berhubungan dengan MySQL Server, tetapi jika menggunakan PDO, ia tidak berhubungan langsung dengan database, tetapi hanya sebagai “interface”. Konsep PDO ini dapat digambarkan sebagai berikut:
PHP PDO –> Database Driver –> Database Server
PDO bekerja dengan metode yang disebut “data-access abstraction layer”. Artinya, apapun jenis database server yang digunakan, kode PHP yang ditulis akan tetap sama. PDO menyediakan“abstraction layer” untuk berkomunikasi dengan database server.
Untuk menggunakan PDO, kita harus mengaksesnya menggunakan object. PDO tidak menyediakan cara penulisan procedural style seperti mysqli atau mysql extension. Karena itu, jika anda kurang paham tentang istilah pemrograman object seperti class, method, dan property, silahkan mempelajarinya pada artikel Konsep Dasar Pemrograman Berorientasi Objek (OOP).
PHP mulai menyediakan PDO extension sejak versi 5.1 keatas.

Jenis Database Server yang didukung PDO

Hingga saat ini (PHP versi 5.6) PDO mendukung setidaknya 12 jenis Interface/Database Server, diantaranya :
  1. CUBRID
  2. MS SQL Server
  3. Firebird
  4. IBM
  5. Informix
  6. MySQL
  7. MS SQL Server
  8. Oracle
  9. ODBC and DB2
  10. PostgreSQL
  11. SQLite
  12. 4D
List ini dapat Anda lihat dari http://php.net/manual/en/pdo.drivers.php.
Dapat dilihat bahwa PDO mendukung banyak aplikasi database populer seperti: Oracle, Microsoft SQL Server, dan PostgreSQL. Dengan membuat kode PHP menggunakan PDO, secara tidak langsung kita juga membuka kemungkinan untuk menggunakan database server selain MySQL, sehingga menjadi lebih fleksibel.

Cara Mengaktifkan PDO Extension

Walaupun PDO Extension telah aktif secara “default” pada PHP versi 5.1 keatas, tetapi tidak semua database driver bisa digunakan. Dengan kata lain, untuk alasan performa, PHP me-nonaktifkan beberapa driver database seperti Oracle atau PostgreSQL di dalam PDO.
Untuk melihat driver database apa saja yang telah aktif dan bisa langsung digunakan, bisa menggunakan fungsi (lebih tepatnya: static methodPDO::getAvailableDrivers() :
<?php
  print_r(PDO::getAvailableDrivers());
?>
Ketika kita menjalankan perintah tersebut pada PHP 5.6 bawaan XAMPP, berikut adalah hasil yang didapat :
Array ( [0] => mysql [1] => sqlite )
Dari hasil diatas, dapat dilihat bahwa driver PDO bawaan PHP yang aktif (dan yang bisa digunakan) hanyalah MySQL dan SQLite. Jadi bagaimana cara mengaktifkan driver untuk database lainnya ? Caranya adalah mengubah setingan php.ini.
File php.ini adalah file konfigurasi yang digunakan PHP. Karena saya menggunakan PHP yang diinstall dari XAMPP di drive C, lokasinya adalah C:\xampp\php\php.ini.
Silahkan buka file php.ini dengan aplikasi text editor, kemudian search kata “pdo”. Dalam versi PHP yang saya gunakan, hasil pencarian “pdo” akan tampil pada baris ke-1010, seperti gambar dibawah :
Pada baris inilah kita mengaktifkan driver database PDO. Perhatikan library yang diawali dengan “php_pdo“, inilah driver-driver database PDO yang tersedia di dalam PHP. Dapat dilihat driver yang telah aktif hanya php_pdo_mysql.dll dan php_pdo_sqlite.dll.
Untuk mengaktifkannya, silahkan hapus tanda titik koma (;) dari awal baris nama driver yang ingin digunakan. Sebagai contoh, saya akan mengaktifkan extension=php_pdo_pgsql.dll yang merupakan driver dari database PostgreSQL:
Selanjutnya, save file php.ini, kemudian restart web server Apache (matikan dan hidupkan kembali melalui XAMPP Control Panel).
Untuk memastikan apakah driver telah aktif atau belum, kita kembali menjalankan method PDO::getAvailableDrivers(), dan berikut adalah hasil yang didapat :
Array ( [0] => mysql [1] => pgsql [2] => sqlite )
Seperti yang terlihat, driver PostgreSQL untuk PDO telah aktif dan bisa langung digunakan.
Pada saat penulisan contoh diatas, saya juga mencoba mengaktifkan extension=php_pdo_oci.dll yang digunakan database Oracle, tetapi mendapai error: “The program can’t start because OCI.dll is missing from your computer”. Error diatas terjadi karena PHP tidak menyertakan library php_pdo_oci.dll, dan kita harus mendownloadnya secara manual.
Setelah saya mencari dari beberapa sumber, ternyata PDO untuk oracle masih berstatus “experiment”, dan dikembangkan oleh komunitas, bukan Oracle sendiri.
Hal ini bisa menjadi pertimbangan jika anda ingin menggunakan PDO untuk mengakses database Oracle. Sebagai alternatif, silahkan gunakan fungsi oracle “biasa”: oci8.
Pengertian PDO dan Cara Mengaktifkan PDO Extension
Item Reviewed: Pengertian PDO dan Cara Mengaktifkan PDO Extension 9 out of 10 based on 10 ratings. 9 user reviews.

10 comments

jangar babatok tuh maksudnya pusing kepala wkwkjwkwk, keren mastah yuk coding sangat membantu mudah dimengerti penjelasannya.

Oh gitu :D

Alhamdulillah. Thanks :)

Haduhhmakin pising aja mas...sblum nua aja baru mulai eh udah ada yg bru lh..gmn nie...

Belajar-nya urut aja gan. Kalo lagi belajar PHP mending pake mysql atau mysqli dulu baru PDO. urutan tutorial2 kami bisa dilihat di daftar isi : https://yukcoding.blogspot.com/p/daftar-isi.html :)

Nah ini yg saya cari PDO extension.... nice share bos semoga bermanfaat.... klo ngk bisa mohon bantuan suhu ya...

Thanks.
Ok. Konsultasi disini saja https://www.facebook.com/yukcoding/

Emoticon? nyengir

Berkomentarlah dengan bahasa yang relevan dan sopan.. #ThinkHIGH! ^_^

Info

Just load it!