Membuat Database Objek dengan Scaffolding pada Ruby on Rails

Beberapa lama saya mencari cara untuk mengimplementasikan UML terutama masalah diagram kelas, dimana suatu kelas terdiri dari atribut, dan operation di dalamnya. Beberapa rekan mengatakan kelas dapat diwakili oleh tabel pada sistem database relasional. Tentu saja ini bertentangan dengan konsep UML yang berbasis objek. Tetapi dengan bahasa Ruby, hal ini dapat dibuat mudah, karena kita dapat membuat objek dengan mudah dan menghubungkannya dengan sistem database yang kita inginkan. Buka Ubuntu Anda, masuk ke Terminal (jika sulit mencarinya, ketik aja terminal di menu “search”):

Berikut ini akan kita ambil contoh membuat suatu objek daftar aktivitas (to do list) yang pernah dijadikan ujian Mid Term di kampus saya sekarang kuliah AIT Thailand. Baiklah, tidak perlu basa-basi kita buka saja Ruby on Rails (RoR). Pertama-tama kita buat terlebih dahulu suatu project, misalnya kita namakan todo, ketik pada console RoR:

$ rails new todo –d postgresql

Tampak RoR akan membuat (Create) file-file yang diperlukan dan diakhiri dengan Bundle Install. Setelah itu kita buat satu objek dengan nama task. Sebelumnya Anda harus terlebih dahulu masuk ke direktori project anda (dalam hal ini todo):

$ cd todo

Buka file Gemfile di /app dan hilangkan # pada therubyracer yang artinya, kita akan menggunakan fasilitas tersebut.

Lakukan bundle install

$ bundle install

Kita menggunakan sistem database postgresql, buka file /app/config/database.yml, edit super user yang akan mengakses (ada tiga editan). Jangan lupa menekan tombol save.

Jangan lupa siapkan databasenya dengan mengetik

$ rake db:create:all

Berikutnya adalah membuat objek task.

Di sini kita memanfaatkan fasilitas yang ada pada RoR yaitu Scaffold. Dimana instruksi ini akan membuat suatu objek dengan nama task dan atribut nama:string dan status boolean. Bagaimana dengan operation? Jangan khawatir, RoR akan membuatkan secara otomatis tujuh default operation yang dapat kita hapus beberapa dari operation itu jika kita tidak menginginkannya. Seperti biasa, lakukan migrasi, dimana objek yang dibuat dengan RoR dimigrasikan ke database dengan instruksi:

$ rake db:migrate

Sebelumnya buka file database.yml yang secara default akan dibuatkan user todo. Ganti dengan superuser yang pernah Anda buat. Dalam hal ini saya menggunakan user csim.

 

Sebenarnya masalah sudah selesai, tinggal melakukan sedikit seting pada route.rb yang terletak di folder /app/config. Tambahkan:

root to: “task#index”

Jangan lupa jalankan:

$ rake routes

Artinya saya akan mengarahkan server ke task#index tiap project todo dijalankan. Oleh karena itu rename folder index anda yang terletak di views dengan nama lain, karena tidak akan kita gunakan. Jalankan server:

$ rails s

Jangan khawatir, setelah server dihidupkan, tampak seperti Hang. Sebenarnya server sudah berfungsi dan sedang aktif. Buka browser, ketikan alamat server http://localhost:3000

Ternyata mudah. Tampak operation yang diberikan antara lain NewTask(), Show(), Edit(), Destroy(), dan lain-lain. Coba klik New Task, isi task baru. Maka akan muncul list task baru. Mudah bukan?

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.