Senin, 24 Juni 2019

Pemrograman Basis Data - PDO (PHP Data Object) - Materi Pengantar

Halo, Kembali lagi dengan Matakuliah Pemrograman Basis Data,
Kali ini, saya mendapatkan materi dan pembelajaran baru, yakni PDO atau PHP Data Object.

Saya sendiri masih bingung, pengertian PDO sendiri ialah interface universal yang disediakan PHP untuk berkomunikasi” dengan database server. Istilah “interface universal” menyatakan bahwa PDO tidak terikat dengan aplikasi database tertentu.



PDO (PHP Data Objects) adalah php extension untuk mengakses database, sama seperti mysql_query atau mysql_fetch_array.
Saat ini fungsi seperti mysql_query dan mysql_fetch_array sudah di deprecated dan akan segera dihapus. Oleh karena itu kita perlu segera beralih menggunakan PDO atau MySQLi untuk menyimpan, edit atau hapus data.
PDO bisa dipakai untuk mengakses beberapa database berbeda, sedangkan MySQLi hanya untuk database mysql.
Jika saat ini kita menggunakan database MySQL dan di kemudian hari berganti menggunakan database PostgreSQL maka kita tidak perlu lagi mengubah kode yang sudah dibuat.

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, programer harus mengaksesnya menggunakan object.
PDO tidak menyediakan cara penulisan procedural style seperti mysqli atau mysql extension.
Oleh Karena itu, maka programmer diwajibkan memahami konsep Object Oriented Programming (OOP).


Jenis database Server yang di dukung PDO (12) 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
Dengan membuat kode PHP menggunakan PDO, secara tidak langsung juga membuka kemungkinan untuk menggunakan database server selain MySQL, sehingga menjadi lebih fleksibel.



Mengaktifkan PDO Extension

Untuk melihat driver database apa saja yang telah aktif dan bisa langsung digunakan, bisa menggunakan fungsi (lebih tepatnya: static method)
PDO::getAvailableDrivers():

<?php print_r(PDO::getAvailableDrivers()); ?>

Perintah tersebut apabila dijalankan, akan menghasilkan:
Mengecek driver database


Gambar diatas terlihat PDO yang aktif dan yang bisa digunakan adalah mysql, pgsql, dan sqlite.
Untuk mengaktifkan driver untuk database yang lainnya, pergi ke 
[drive]:\xampp\php\php.ini.

Buka dengan notepad / text editor lainnya:
php.ini


Jika ingin mengaktifkan driver untuk database yang lainnya, cari perintah menggunakan CTRL+F "pdo"
Lalu hapus semicolon atau titik koma dari awal baris nama driver yang ingin digunakan.
Disini saya mengaktifkan pdo_odbc, jangan lupa di save, lalu PENTING untuk merestart XAMPP Control Panel.

Lalu cek lagi menggunakan perintah:
 <?php
print_r(PDO::getAvailableDrivers()); ?>

Perhatikan Hasilnya:
Mengaktifkan driver untuk database odbo



Menampilkan Pesan Kesalahan (error) pada PDO

Karena PDO menggunakan object, penanganan kesalahan akan lebih baik jika menggunakan blok TRY…CATCH, atau dikenal dengan “exceptions”.

Untuk menampilkan pesan kesalahan dengan exceptions pada PDO, terdapat 3 pilihan metode. Metode ini menggunakan method PDO::setAttribute(PDO::ATTR_ERRMODE):
  1. $dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT );
    Jika kita tidak mengubah setingan error, pilihan inilah yang digunakan. Untuk mengecek error, kita bisa menggunakan method PDO::errorCode()dan PDO::errorInfo().
  2. $dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
    Digunakan untuk menampilkan error berupa warning PHP, kemudian PHP akan melanjutkan proses eksekusi program. Pilihan ini cocok untuk proses debugging.
  3. $dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
    Digunakan untuk menampilkan error dengan exceptions. Pilihan inilah yang sering digunakan untuk menampilkan error dengan TRY…CATCH.

Dengan menggunakan penanganan kesalahan (exceptions), berikut adalah modifikasi kode PHP untuk koneksi PDO dengan MySQL:
Koneksi menggunakan PDO


Diatas adalah contoh koneksi yang berhasil, sekarang kita coba sengaja lakukan kesalahan dengan menginput username yang tidak ada pada database, dan lihat apa yang terjadi:
Sengaja di salahkan, dan perhatikan pesan kesalahannya


Didalam block TRY…CATCH inilah nantinya akan menjalankan query-query MySQL seperti menampilkan data, maupun menginput data baru ke dalam tabel MySQL, Cukup sederhana dan mudah bukan?


Untuk artikel ini saya rasa cukup,
Pada artikel selanjutnya, saya akan membuat Makalah tentang Konsep basis data menggunakan PDO Extension dengan studi kasus pada artikel sebelumnya (Perbaikan PHP 2 Tier).

Jadi singkatnya, saya akan merubah query-query yang ada pada script tersebut menjadi query PDO.

Oleh karena itu, anda bisa mendownload project saya disini atau mempelajari pada artikel sebelumnya terlebih dahulu, karena modul kemarin dengan sekarang sangat berkaitan.


#ManajemenInformatika
#PoliteknikNegeriLampung
#EkoWinKenali
#MadeSlimacek

0 komentar:

Posting Komentar