People Innovation Excellence
 
Feature Image

Ruby On Rails

Ruby on Rails merupakan framework yang dibuat dengan bahasa pemrograman ruby, bahasa pemrograman ruby sendiri diciptakan oleh Yukihiro Matsumoto seorang software programmer yang berasal dari Jepang. Dari bahasa Ruby ini dibuatlah framework oleh David Heinemeier Hansson yang merupakan programmer sekaligus pembalap. Syntax atau block code ruby dibuat sangat elegan dan mudah untuk dipelajari. Sudah banyak perusahaan besar di dunia yang membuat website mereka dengan framework rails seperti Github, Twitter, Shopify, dll. Di Indonesia sendiri perusahaan Bukalapak, dan Alodokter menggunakan rails. Rails dibangun dengan menggunakan konsep MVC (Model, View, Controller), berikut arsitektur MVC di ruby on rails:

Gambar 1 MVC Model

Model
Mengatur hubungan antara objek dan database, di model kita dapat mengatur asosiasi antar tabel dan mengatur validasi atribut yang terdapat dalam tabel. Untuk melakukan query aplikasi di rails, lebih dianjurkan menggunakannya di model karena model lebih cepat dalam mengakses database.

Contoh Model di rails

class MsArea < ActiveRecord::Base

      has_many :ms_user_areas

      validates_presence_of :name

end

Di model rails dapat mengatur asosiasi seperti has_many, contoh ini antara tabel ms_areas dan ms_user_areas memiliki relasi has many. Kita juga dapat menggunakan validasi kolom tabel di model dengan contoh validates_presence_of :name, hal ini berarti kolom nama tidak boleh kosong.

View
Merepresentasikan visual dari user interface, ditampilkan dapat dalam bentuk pdf, json, html, dll.  View di trigger oleh controller, untuk default view dalam controller sendiri terbagi menjadi index, new, dan edit. Tetapi masih bisa di custom sendiri sesuai kebutuhan aplikasi.

Controller
Sebagai perantara antara model dengan view, menghubungkan data yang diambil dari model dan menampilkannya di view. Controller juga dapat melakukan query tetapi lebih lambat dibandingkan kita melakukan query di model

Berikut contoh pengunaan controller di rails :

Di ruby sebuah function di awali dengan def dan ditutup dengan end. Fungsi index untuk membuat fungsi aplikasi di bagian index aplikasi, fungsi new dibuat untuk menampilkan halaman create, lalu ketika user melakukan submit data maka fungsi itu akan dijalankan di def create, karena def new hanya sebatas menampilkan view new tidak untuk proses penyimpanan data. Fungsi show dibuat untuk menampilkan halaman show. Fungsi edit untuk menampilkan halaman edit, ketika melakukan edit data maka fungsi yang berjalan adalah update. Fungsi destroy digunakan untuk melakukan penghapusan data. Fungsi – fungsi ini merupakan standar code yang dimiliki rails.

Rails menekankan penggunaan DRY (Don’t Repeat Youreself), teknik ini menjelaskan untuk tidak menuliskan informasi yang secara berulang agar code tidak ambigu. Pada contoh sederhanda diatas terdapat before_action :set_ms_update_option, only: [:show, :edit, :update, :destroy], pada proses ini sebelum menjalankan fungsi di controller pada bagian show, edit, update, dan destroy perlu menjalankan fungsi set_ms_update_option terlebih dahulu. Pada fungsi set_ms_update_option terdapat code @ms_update_option = MsUpdateOption.find(params[:id]), sehingga setelah fungsi ini dijalankan lalu menjalankan fungsi yang lain di controller tidak perlu mendefine fungsi yang sama, ini yang dinamakan penggunaan dry pada rails.

Rails memiliki plugin yang dinamakan gem, biasanya programmer menggunakan plugin untuk membuat fungsi di web menjadi lebih powerful dan menarik. Proses instalasi plugin di ruby cukup mudah, untuk melihat plugin yang tersedia dapat dilihat di https://rubygems.org/ dan di install di project rails. Contoh plugin untuk mempermudah proses authentikasi pada aplikasi adalah gem devise, plugin ini sudah mengatur proses login, logout, dan authentikasi bahkan tampilannya sudah disediakan.

Contoh penggunaan gem

gem ‘devise’, ‘~> 4.5’

Code gem ini di taruh pada bagian gemfile, setelah itu kita perlu melakukan instalasi dengan perintah bundle install di terminal.

Sumber:

Nama:
Shagnaz Intania (1901525341)
Andika Kandrianto (1901461445)

Supervisor : Hanry Ham


Published at : Updated
Written By
Hanry Ham, S.Kom., M.Eng
Subject Content Coordinator Software Development | School of Computer Science

Periksa Browser Anda

Check Your Browser

Situs ini tidak lagi mendukung penggunaan browser dengan teknologi tertinggal.

Apabila Anda melihat pesan ini, berarti Anda masih menggunakan browser Internet Explorer seri 8 / 7 / 6 / ...

Sebagai informasi, browser yang anda gunakan ini tidaklah aman dan tidak dapat menampilkan teknologi CSS terakhir yang dapat membuat sebuah situs tampil lebih baik. Bahkan Microsoft sebagai pembuatnya, telah merekomendasikan agar menggunakan browser yang lebih modern.

Untuk tampilan yang lebih baik, gunakan salah satu browser berikut. Download dan Install, seluruhnya gratis untuk digunakan.

We're Moving Forward.

This Site Is No Longer Supporting Out-of Date Browser.

If you are viewing this message, it means that you are currently using Internet Explorer 8 / 7 / 6 / below to access this site. FYI, it is unsafe and unable to render the latest CSS improvements. Even Microsoft, its creator, wants you to install more modern browser.

Best viewed with one of these browser instead. It is totally free.

  1. Google Chrome
  2. Mozilla Firefox
  3. Opera
  4. Internet Explorer 9
Close