Active Record: Coding Tanpa Query
March 28th, 2011, Written by: | Categories: Yii Framework

Active Record bisa menjadi sedemikian populernya hari ini mungkin juga dikarenakan Ruby on Rails dan Grail, walaupun sebetulnya teknologi tersebut sudah ada lebih awal dari mereka. Jadi apa kegunaannya?

Yii Framework

Yii Framework

Umumnya aplikasi apapun membutuhkan database untuk menyimpan data. Oleh karena mengakses dan memanipulasi database merupakan sebuah kewajiban. Masalahnya terkadang untuk menampilkan suatu data dari database kita harus menulis query yang mirip berulang-ulang sehingga cukup merepotkan. Juga termasuk ketika kita melakukan insert,update ataupun delete harus menulis sintaks-sintaks SQL sehingga aplikasi berjalan dengan benar. Belum lagi harus mengingat untuk meng-escape nilai yang akan dikirim dalam query supaya tidak di-hack orang tidak bertanggung jawab.

Oleh karena masalah seperti itu, maka tercetuslah ide active record. Secara sederhana active record membuat sebuah record (satu row dari table database) dipetakan menjadi sebuah objek kelas. Jadi kita bisa mengakses database seperti halnya mengakses properti dari objek kelas. Misalnya kita memiliki sebuah tabel bernama `User`. Dan salah satu row dari pegawai terdapat record berisi “Andrew” untuk field nama, “26″ untuk field umur dan “id”-nya adalah 1. Maka kita bisa mengakses record ini dengan cara demikian:

//ini hanya pseudo-code
User user = new User(1); //load record ber-id 1
print user.nama; //keluar Andrew
print user.umur; //keluar 26
user.umur = 20; //ganti umur
user.save(); //database terupdate

Di sini Anda bisa melihat bagaimana kita bisa melakukan query dan update database tanpa sebaris query pun. Itulah inti dari active record. Membuat programmer berinteraksi dengan database seperti layaknya sebuah objek kelas biasanya. Dan lagipula active record pada umumnya sudah meng-escape nilai yang kita kirim, sehingga tidak akan ada kemungkinan kita lupa meng-escape nilai yang dikirim ke query. Sehingga cukup meningkatkan keamanan.

Active record sekarang sudah hampir tersedia di semua bahasa pemograman baik berbasis desktop maupun di web. Contohnya di web seperti Yii Framework, Ruby on Rails, CodeIgniter dan lain sebagainya. Framework Yii dan Ruby on Rails cukup banyak memanfaatkan active record sendiri, sehingga dalam mengerjakan projek sangat menghemat waktu.

Walaupun active record membawa kemudahan bagi programmer dalam berhubungan dengan database, bukan berarti teknologi ini tanpa kekurangan. Active record sedikit banyak pasti lebih lambat prosesnya dibandingkan menggunakan query langsung. Diterima atau tidaknya toleransi atas kelambatan ini, Anda yang tentukan.

Active record sangat bagus dalam mengabstraksikan suatu database. Tetapi itu juga artinya setiap mengakses satu properti itu artinya melakukan sekali database hit. Pada faktanya, dikarenakan terlalu gampang mengakses active record, orang cenderung lupa akan hal itu, dan bahkan terlalu sering menggunakan looping foreach untuk mengakses!

Terlalu bergantung pada active record untuk hal-hal yang kompleks akan menjadi kontra-produktif dalam pengembangan. Dikarenakan akses database yang terlalu berlebihan oleh active record, apalagi jika user sudah mencapai jutaan! Kemungkinan server down menjadi lebih besar.

Active record akan sangat berguna jika digunakan dengan benar. Dia bisa mengurangi kerepotan dalam pemograman. Tetapi akan menjadi bencana jika tidak digunakan dengan hati-hati.

More about: , ,

Leave a Reply