Programming

Pengertian Active Record di Dalam Ruby on Rails

Active record pada Ruby on rails
Avatar photo
Written by Techfor Id

Apa itu Active Record ?

Active Record ialah Model dalam Arsitektur MVC yang merupakan lapisan sistem yang bertanggung jawab untuk merepresentasikan data bisnis dan logika. Active Record memfasilitasi pembuatan dan penggunaan objek bisnis yang datanya membutuhkan penyimpanan persisten ke database.

Ini merupakan implementasi dari pola Active Record yang dengan sendirinya merupakan deskripsi dari sistem Object Relational Mapping (ORM).

Baca Juga : Kumpulan Kode-Kode Program PHP Beserta Fungsi dan Contohnya

Pola Active Record

Dalam Active record, objek membawa data persistent dan perilaku yang beroperasi pada data tersebut. Active Record berpendapat bahwa memastikan logika akses data sebagai bagian dari objek akan mendidik pengguna objek itu tentang cara menulis dan membaca dari database.

Object Relational Mapping (ORM)

Object Relational Mapping atau yang lebih dikenal ORM adalah tehnik yang menghubungkan objek aplikasi ke tabel didalam Relational Database Management System (RDMS).

Dengan menggunakan ORM, property dan hubungan objek dalam aplikasi dapat dengan mudah disimpan dan diambil dari database tanpa menulis statement SQL secara langsung.

Active Record dalam Framework ORM

Active Record memberikan kita mekanisme yang memiliki fungsi seperti :

  • Merepresentasikan Model beserta Datanya
  • Merepresentasikan turunan hirarki melalui Model terkait
  • Memvalidasi Model sebelum dimasukan ke Database
  • Melakukan operasi database berbasis Object Oriented

Konvensi Konfigurasi dalam Active Record

Saat menulis aplikasi menggunakan bahasa atau Framework pemrograman lain, mungkin perlu untuk menulis banyak kode konfigurasi.

Terutama ini berlaku untuk Framework ORM secara umum. Namun, jika kamu mengikuti konvensi yang diadopsi oleh Rails, kamu hanya perlu melakukan sedikit konfigurasi atau bahkan tidak sama sekali saat membuat Model Active Record.

Naming Convention

Secara default, Active Record menggunakan beberapa Naming Convetion untuk mencari tahu bagaimana pemetaan antara model dan tabel database harus dibuat. Rails akan mencocokan nama class kamu untuk menemukan tabel database masing-masing.

Sebagai contoh Class Buku, kamu harus memiliki tabel database yang disebut buku juga. Mekanisme pluralisasi Rails sangat kuat, karena mampu mempluralkan (dan membuat singularisasi) kata-kata biasa dan tidak teratur.

Baca Juga Artikel Lainnya :

Saat menggunakan nama class yang terdiri dari dua kata atau lebih, nama class Model harus mengikuti konvensi Ruby yaitu menggunakan formulir CamelCase. Sedangkan nama tabel harus berisi kata-kata yang dipisahkan oleh garis bawah. Contoh:

  • Model Class – Singular dengan huruf pertama dari setiap kata dengan huruf
  • Tabel Database – Plural dengan garis bawah yang memisahkan kata-kata

Convention Schema

Active Record menggunakan Naming convention untuk kolom dalam tabel database, tergantung pada tujuan kolom ini.

  • Foreign Key – Bidang ini harus dinamai mengikuti pola singularized_table_name_id (misalnya Item_id, order_id). Ini adalah Field yang akan dicari Active Record ketika kamu membuat asosiasi antara model kamu.
  • Primary Key – Secara default, Active Record akan menggunakan kolom integer bernama id sebagai kunci utama tabel (bigint untuk PostgreSQL dan MySQL, integer untuk SQLite). Saat menggunakan Migration Active Record untuk membuat tabel kamu, kolom ini akan secara otomatis dibuat.

Baca Juga : Membuat Program Kalkulator Sederhana Dengan Menggunakan Program Ruby

Ada juga beberapa nama kolom opsional yang akan menambahkan fitur tambahan ke Instance Active Record :

  • Created_at – Secara otomatis diatur ke tanggal dan waktu saat ini ketika catatan pertama kali dibuat.
  • updated_at – Secara otomatis ditetapkan ke tanggal dan waktu saat ini setiap kali catatan dibuat atau diperbarui.
  • lock_version – Menambahkan penguncian ke Model.
  • type – Menentukan bahwa model menggunakan Single Table Inheritance.
  • (associ_name) _type – Menyimpan tipe untuk asosiasi polimorfik.
  • (table_name) _count – Digunakan untuk men-cache jumlah objek yang dimiliki pada asosiasi. Misalnya, kolom comments_count dalam class Artikel yang memiliki banyak contoh Komentar akan men-cache jumlah komentar yang ada untuk setiap artikel.

Membuat Model Active Record

Sangat mudah untuk membuat Model Active Record. Yang harus kamu lakukan adalah mensubclass class  ApplicationRecord :

class Product < ApplicationRecord

end

Code diatas akan membuat model Product, dipetakan ke tabel Product di database. Dengan melakukan ini, kamu juga akan memiliki kemampuan untuk memetakan kolom setiap baris dalam tabel itu dengan atribut instance dari model kamu. Misalkan tabel produk dibuat menggunakan pernyataan SQL (atau salah satu ekstensi) seperti:

CREATE TABLE products (

   id int(11) NOT NULL auto_increment,

   name varchar(255),

   PRIMARY KEY  (id)

);

Skema di atas adalah membuat tabel dengan dua kolom: id dan name. Setiap baris tabel ini mewakili produk tertentu dengan dua parameter ini. Dengan demikian, kamu dapat menulis kode seperti berikut :

p = Product.new

p.name = “Buku Baru”

puts p.name # “Buku Baru”

Baca Juga : Mengenal Konsep Arsitektur MVC dalam Ruby On Rail

CRUD : Writing dan Reading Data

CRUD adalah akronim untuk empat kata kerja yang kita gunakan untuk melakukan operasi tertentu pada data : Create, Read, Update dan Delete. Active Record secara otomatis membuat metode untuk memungkinkan aplikasi membaca dan memanipulasi data yang disimpan dalam tabelnya.

Create

Objek Active Record dapat dibuat dari hash, block, atau atributnya ditetapkan secara manual setelah pembuatan. Metode New akan mengembalikan objek baru sementara Create akan mengembalikan objek dan menyimpannya ke database.

Misalnya, Kita akan membuat Model User dengan attribut nama dan pekerjaan. Method Create nantinya akan membuat dan menyimpan data ke database.

user = User.create(nama: “Rudi”, pekerjaan: “Karyawan Swasta”)

Dengan Method New, sebuah objek bisa dipakai tanpa disimpan terlebih dahulu.

user = User.new

user.nama = “Rudi”

user.pekerjaan = “Karyawan Swasta”

Baca Juga : Cara membuat Login Form

Read

Active Record sangat kaya akan Application Programming Interface (API) untuk mengakses data didalam database. Dibawah ini adalah contoh metode akses data yang berbeda yang ada pada Active Record.

# Menampilkan semua User

users = User.all

# Menampilkan User di urutan pertama

user = User.first

# Menampilkan User dengan nama Rudi

Rudi = User.find_by(nama: ‘Rudi’)

# Menampilkan Semua User dengan nama Rudi dan pekerjaan karyawan Swasta dengan mulai dari paling pertama ke bawah

users = User.where(name: ‘Rudi’, pekerjaan: ‘Karyawan Swasta’).order(created_at: :desc)

Update

Begitu Active Record di input, attributnya bisa kamu ubah kembali dan di save ke database.

user = User.find_by(name: ‘Rudi’)

user.name = ‘Rendi’

user.save

Untuk mengubah atau mengupdate data kita bisa menggunakan map hashing pada atribut nama sesuai yang diinginkan.

user = User.find_by(name: ‘Rudi’)

user.update(name: ‘Rendi’)

Delete

Di Active Record juga, kamu bisa menghapus data yang sudah diinput ke database dengan perintah destroy

user = User.find_by(name: ‘Rudi’)

user.destroy

Berikutnya Baca : Fetching Data Application Programming Interface (API) pada React JS

Sumber : guides.rubyonrails.org

About the author

Avatar photo

Techfor Id

1 Comment

Leave a Comment

Click to ask
Hai, Tanya-Tanya Aja
Hi ini Windy, dari techfor

Windy bisa membantu kamu memahami layanan Techfor
Seperti

1. Kursus Online By Expert
2. Partnership Event dan Konten
3. Layanan liputan multimedia
4. Dan hal lain yg ingin kamu tau

Kirim saja pesan ini serta berikan salah satu nomor diatas atau beritahukan windy lebih jelas agar dapat membantu Kamu