PDO (PHP Data Objects)
TUGAS 2
PEMROGRAMAN BASIS DATA
PMI 1414
PDO (PHP Data Objects)
Ahad 15
Dosen
Pengampu :
Eko Win Kenali, S.Kom., M.Cs
Di
Susun Oleh :
NAMA : Ahmad Fajar Irawan
NPM : 19753004
MANAJEMEN
INFORMATIKA
JURUSAN
EKONOMI DAN BISNIS
POLITEKNIK
NEGERI LAMPUNG
2021
KATA
PENGANTAR
Puji syukur kehadirat Allah SWT, atas segala limpahan rahmat,
nikmat dan karunia-Nya yang tak ternilai dan tak dapat dihitung. Saya dapat
menyusun dan membuat laporan ini. Laporan ini disusun untuk memenuhi tugas mata
kuliah Pemrograman Basis Data.
Dalam membuat laporan ini masih jauh dari kata sempurna.
Untuk itu, saya menghaturkan maaf jika ada kesalahan dalam laporan ini. Pembaca
bisa membuat keputusan yang dapat memberikan kritikan dan sarannya untuk saya
agar di kemudian hari saya bisa membuat laporan yang lebih semprurna lagi.
Akhir kata, saya ucapkan terima kasih kepada berbagai pihak
yang telah dapat membantu dalam pembuatan laporan ini.
Sekampung Udik, 21 Juni 2021
PDO (PHP Data Objects)
A.
Pengertian
PDO (PHP Data Objects) adalah interface universal
yang disediakan PHP untuk “berkomunikasi” dengan database server. Istilah
“interface universal” berarti bahwa PDO tidak terikat dengan aplikasi database
tertentu. Apabila saat ini menggunakan database MySQL dan dikemudian hari
bermigrasi menggunakan PostgreSQL, selanjutnya 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, maka aplikasi tidak berhubungan langsung dengan database,
tetapi hanya sebagai “interface”.
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 dapat menggunakan PDO, programer
harus mengakses menggunakan object. PDO tidak menyediakan cara penulisan
procedural style seperti mysqli atau mysql extension.
B.
Jenis Database Server
Jenis Database Server yang didukung PDO (PHP versi
5.6)
-
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.
C.
Mengaktifkan PDO Extension
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 method)
PDO::getAvailableDrivers():
<?php print_r(PDO::getAvailableDrivers()); ?> |
Ketika perintah diatas dijalankan pada PHP 5.6,
berikut adalah hasil yang didapat: Array ( [0] => mysql [1] => sqlite )
D.
Memilih Data
Mengambil
data menjadi array atau objekData diperoleh melalui ->fetch(), sebuah metode
dari handle pernyataan Anda. Sebelum memanggil fetch, yang terbaik adalah
memberi tahu PDO bagaimana Anda ingin data diambil. Anda 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
Anda ke variabel yang ditetapkan dengan metode ->bindColumn()
-
PDO::FETCH_CLASS: Menetapkan nilai kolom
Anda 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
Pada
kenyataannya, ada tiga hal yang akan mencakup sebagian besar situasi:
FETCH_ASSOC, FETCH_CLASS, dan FETCH_OBJ. Untuk mengatur metode fetch, sintaks
berikut digunakan:
1.
FETCH_ASSOC
Jenis
fetch ini membuat array asosiatif, diindeks berdasarkan nama kolom. Ini harus cukup
familiar bagi siapa saja yang telah menggunakan ekstensi mysql/mysqli.
2.
FETCH_OBJ
Jenis
fetch ini menciptakan objek kelas std untuk setiap baris data yang diambil
3.
FETCH_CLASS
Properti
objek Anda ditetapkan SEBELUM constructor dipanggil. Ini penting. Metode fetch
ini memungkinkan Anda untuk mengambil data secara langsung ke dalam kelas yang
Anda pilih. Bila Anda menggunakan FETCH_CLASS, properti objek Anda ditetapkan
SEBELUM constructor dipanggil. Baca lagi, ini penting. Jika properti yang cocok
dengan nama kolom tidak ada, properti tersebut akan dibuat (sebagai public)
untuk Anda. Ini berarti jika data Anda memerlukan transformasi setelah keluar
dari database, ini bisa dilakukan secara otomatis oleh objek Anda saat setiap
objek dibuat.
Sebagai contoh, bayangkan sebuah situasi dimana alamat tersebut perlu dikaburkan sebagian untuk setiap record.
DAFTAR PUSTAKA
Envatotuts, 2020, “Mengapa
Anda Harus Menggunakan PHP PDO untuk Akses Database”, https://code.tutsplus.com/id/tutorials/why-you-should-be-using-phps-pdo-for-database-access--net-12059
, di akses pada 15 juni 2021
Duniailkom, 2014, “Tutorial
PHP MySQL Part 19: Pengertian PDO dan Cara Mengaktifkan PDO (PHP Data Objects)”
https://www.duniailkom.com/tutorial-php-mysql-pengertian-pdo-dan-cara-mengaktifkan-pdo-php-data-objects/
, di akses pada 15 Juni 2021
Komentar
Posting Komentar