Pemrograman Basis Data (PMI 1414)
Kelas : Manajemen Informatika 4B
PROGRAM STUDI MANAJEMEN INFORMATIKA
Pendahuluan
"PDO - PHP Data Objects - adalah lapisan akses database yang menyediakan metode akses yang seragam ke beberapa database."
Ini tidak memperhitungkan sintaks database-spesifik, namun memungkinkan proses peralihan database dan platform menjadi lebih mudah, cukup dengan mengganti string koneksi dalam banyak instance.
Pengertian PDO
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.
Jenis Database Server yang didukung PDO
Hingga saat penulisan tutorial ini (PHP versi 5.6) PDO mendukung setidaknya 12 jenis Interface/Database Server:
CUBRID
MS SQL Server
Firebird
IBM
Informix
MySQL
MS SQL Server
Oracle
ODBC and DB2
PostgreSQL
SQLite
4D
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.
Insert dan Update
Memasukkan data baru, atau memperbarui data yang ada adalah salah satu operasi database yang lebih umum. Dengan menggunakan PDO, ini biasanya merupakan proses dua langkah. Semua yang tercakup dalam bagian ini berlaku sama untuk operasi UPDATE dan INSERT.
Memilih Data
Mengambil data menjadi array atau objekData diperoleh melalui ->fetch(), sebuah metode dari handle pernyataan kita. Sebelum memanggil fetch, yang terbaik adalah memberi tahu PDO bagaimana kita ingin data diambil. kita memiliki pilihan berikut:
PDO::FETCH_ASSOC: mengembalikan sebuah array yang diindeks dengan nama kolom
PDO::FETCH_BOTH (default): mengembalikan sebuah array yang diindeks dengan nama kolom dan nomor
PDO::FETCH_BOUND: Menetapkan nilai kolom kita ke variabel yang ditetapkan dengan metode ->bindColumn()
PDO::FETCH_CLASS: Menetapkan nilai kolom kita ke properti kelas bernama. Ini akan menciptakan properti jika properti yang cocok tidak ada
PDO::FETCH_INTO: Memperbarui instance kelas bernama
PDO::FETCH_LAZY: Menggabungkan PDO::FETCH_BOTH/PDO::FETCH_OBJ, membuat nama variabel objek saat digunakan
PDO::FETCH_NUM: mengembalikan sebuah array yang diindeks dengan nomor kolom
PDO::FETCH_OBJ: mengembalikan sebuah objek anonim dengan nama properti yang sesuai dengan nama kolom
Menghubungkan
Database yang berbeda mungkin memiliki metode koneksi yang sedikit berbeda. Di bawah ini, metode untuk terhubung ke beberapa database terpopuler akan ditampilkan. Kita akan melihat bahwa tiga yang pertama adalah identik, lainnya adalah jenis database - dan kemudian SQLite memiliki sintaksnya sendiri.
Exception dan PDO
PDO dapat menggunakan exception untuk menangani kesalahan, yang berarti apapun yang kita lakukan dengan PDO harus dibungkus dalam blok try/catch. Kita dapat memaksa PDO ke salah satu dari tiga mode kesalahan dengan menetapkan atribut mode kesalahan pada handle database yang baru Kita buat.
Tidak masalah mode kesalahan yang Kita tetapkan, kesalahan menghubungkan akan selalu menghasilkan exception, dan membuat koneksi harus selalu terkandung di blok try/catch.
PDO::ERRMODE_SILENT
Ini adalah mode kesalahan default. Jika Kita membiarkannya dalam mode ini, Kita harus memeriksa kesalahan dengan cara yang mungkin Kita gunakan jika Kita menggunakan ekstensi mysql atau mysqli. Dua metode lainnya lebih ideal untuk pemrograman DRY.
PDO::ERRMODE_WARNING
Mode ini akan mengeluarkan peringatan standar PHP, dan memungkinkan program melanjutkan eksekusi. Ini berguna untuk debugging.
PDO::ERRMODE_EXCEPTION
Ini adalah mode yang Kita inginkan dalam kebanyakan situasi. Ini menimbulkan exception, memungkinkan Kita menangani kesalahan dengan anggun dan menyembunyikan data yang mungkin bisa membantu seseorang mengeksploitasi sistem Kita.
Cara Mengaktifkan Fitur PDO
Aktifkan Panel xampp
PDO Extention secara default dapat digunakan sejak PHP 5.1, tetapi tidak semua driver database pada PDO diaktifkan, dengan alasan performa PHP menonaktifkan beberapa fitur PDO untuk beberapa database server, sehingga ketika Kita akan menggunakan PDO untuk database server tertentu, kita perlu mengaktifkannya terlebih dahulu.
Berikutnya kembali kita coba menjalankan file php yang berisi perintah untuk mengecek driver PDO yang aktif, dengan function PDO::getAvailableDrivers()
Outputnya
Maka sekarang untuk driver database yang aktif untuk PDO, ada 3 yaitu MySQL, PostgreSQL, dan SQLite
CRUD Menggunakan PDO Mysql di PHP
Membuat database dengan perintah sebagai berikut
Membuat file Library.php dengan perintah sebagai berikut
Buat form index php dengan perintah sebagai berikut
Maka output data nya sebagai berikut
Selanjutnya membuat form_add.php dengan perintah sebagai berikut
Dan form_edit.php dengan perintah sebagai berikut
Kita coba simulasikan program, pada tambah data sebagai berikut
Kita coba isikan data seperti berikut ini
Data yang dihasilkan sebagai berikut
Fitur Update
Saya ingin mengubah data semisal mengubah npm
Menjadi seperti berikut
Maka data yang ditampilkan sebagai berikut
Fitur delete
Semisal kita ingin mendelete data yang barusan kita input
Kesimpulan
Dari Artikel kali ini kita dapat memahami konsep PDO (PHP Data Objects) Extension dan dapat mengimplementasikan PDO (PHP Data Objects) Extension untuk rancang bangun aplikasi basisdata untuk mengakses database, sama seperti mysql_query atau mysql_fetch_array. PDO membantu mencegah SQL injection, PDO secara otomatis akan mengquote inputan user
#d3mipolinela, #polinela, #politeknik_negeri_lampung