Programming

Definisi Lengkap Bahasa Pemrograman Ruby, Program Populer yang banyak digunakan Start-up

Definisi Lengkap Bahasa Pemrograman Ruby, Program Populer yang banyak digunakan Start-up
Avatar photo
Written by Techfor Id

Daftar Isi :

  • Definisi Program Ruby
  • Sejarah Program Ruby
  • Ruby On Rails
  • Fitur Framework Rails
  • Ruby Gems
  • Keuntungan Menggunakan Program Ruby

Definisi Program Ruby

Ruby adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Yukihiro “Matz” Matsumoto dan dirilis pertama kali pada tahun 1995, dengan versi yang lebih baru dirilis pada tahun 2011. Ruby kini semakin populer terutama ketika digunakan dengan Framework Rails.

Ruby adalah bahasa pemrograman yang bersifat Open Source,  mudah digunakan dan bisa sangat fleksibel yang mana bagus untuk programmer pemula.

Ruby mendukung beberapa paradigma pemrograman, termasuk pemrograman prosedural, Pemrograman berorientasi objek, dan fungsional. Menurut Matsumoto, Ruby dipengaruhi oleh Perl, Smalltalk, Eiffel, Ada, Basic, dan Lisp

Ada banyak platform yang dibangun dengan menggunakan bahasa Ruby seperti Hulu, Groupon, Airbnb, dan bahkan Twitter. Hal ini tentunya disebabkan karena kelebihan bahasa pemrograman Ruby tersebut.

Sejarah Program Ruby

Bahasa Pemrograman Ruby pertama kali dimulai pada tahun 1993. Yukihiro Matsumoto mengatakan bahwa ia ingin menciptakan Bahasa Script berorientasi objek (object Oriented).

Matsumoto menggambarkan desain Ruby dengan Inti sesimpel bahasa Lisp, dengan sistem objek seperti Smalltalk, dan Utilitas praktis layaknya Perl.

Nama Ruby itu sendiri awalnya berasal dari sesi chat online antara Matsumoto dan Ishitsuka pada 24 Februari 1993, dimana saat itu belum ada code yang ada pada program ruby.

Rilisan pertama Ruby 0.95 diumumkan pada newsgroup domestik Jepang pada tanggal 21 Desember 1995. Selanjutnya, tiga versi Ruby dirilis dalam dua hari. Rilis ini bertepatan dengan peluncuran Ruby list Mailing list dalam bahasa Jepang, yang merupakan mailing list pertama untuk bahasa pemrograman baru.

Saat ini Ruby telah berkembang tidak hanya di Jepang, tetapi diseluruh dunia. Bulan Agustus tahun 2006, Macintosh telah melakukan kerja sama dengan mengintegrasikan Ruby on Rails pada Mac OS X v10.5 Leopard telah diluncurkan bulan Oktober 2007.

Pada tahun 2004, David Heinenmeier membawa Program Ruby menuju tingkat yang lebih tinggi lagi. Ia menciptakan Framework Rails menggunakan bahasa Ruby. Framework Rails inilah yang menjadi alasan utama Ruby menjadi Bahasa Program dengan jumlah komunitas terbesar kelima menurut survey Github.

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.

Salah satu prinsip utama pengembangan Ruby on Rails (Rails) adalah konvensi diatas konfigurasi. Ini mengartikan bahwa programmer tidak perlu menghabiskan banyak waktu dalam mengkonfigurasi file, Rails dilengkapi dengan seperangkat konvensi yang membantu mempercepat pengembangan.

Karakteristik lain dari Rails adalah penekanan pada desain aplikasi RESTful. REST (Representational State Transfer) adalah gaya arsitektur perangkat lunak yang berbasis di sekitar hubungan client-server.

Ini mendorong struktur logis dalam aplikasi, yang berarti mereka dapat dengan mudah diekspos sebagai API (Application Programming Interface).

Selain itu, 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:

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.

Website

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

Rails menekankan penggunaan DRY (Don’t Repeat Youreself), teknik ini menjelaskan untuk tidak menulis code yang sama secara berulang-ulang untuk melakukan perintah yang sama. Dengan Rails, kamu hanya perlu menginput 1 code dan code tersebut bisa digunakan sebanyak yang kamu mau.

Rails juga 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.

Fitur Framework Rails

  • Action Pack : Menghandle Request dan Response. Framework ini merupakan bagian dari pola MVC rails. Action Pack bertugas menangani hal-hal seperti Web Request, Handling, routing, dan view generation.
  • Active Model : Berperan sebagai Interface Model pada Pola MVC
  • Active Record : Active Record yakni komponen Object Relational Mapping (ORM) dari Rails. Penamaan dan konvensi adalah kunci utama untuk mempertahankan kode yang sederhana dan minim untuk mendefinisikan class yang akan bertahan dalam tabel databas.
  • Active Support : Merupakan sekumpulan ekstensi library dan utility class yang ada pada Rails. Ekstensi ini sangat penting dalam membangun beberapa project Ruby.
  • Active Resource : Menghubungkan objek bisnis dan Representational State Transfer (REST) Web Service. Dengan Active Resource, kamu bisa dengan mudah menggunakan REST untuk menampilkan Active Record dengan Nominal Code yang sedikit.
  • Action Mailer : Framework yang secara khusus menangani masalah perihal layanan Email seperti membantu pengiriman email kepada pengguna yang lupa password, registrasi email, invoice untuk billing, dan yang lainnya.

Ruby Gems

RubyGems adalah Package Manager untuk bahasa pemrograman Ruby yang menyediakan format standar untuk mendistribusikan program dan library Ruby (dalam format mandiri yang disebut “Gems”).

Ruby Gems diciptakan oleh Chad Fowler, Jim Weirich, David Alan Black, Paul Brannan dan Richard Kilmer selama RubyConf pada tahun 2004

Interface untuk Ruby Gems adalah Tools baris perintah yang disebut gem yang dapat menginstal dan mengelola library (gems). RubyGems terintegrasi dengan run-time loader Ruby untuk membantu menemukan dan memuat gems yang diinstal dari folder library standar.

Meskipun dimungkinkan untuk menggunakan repositori RubyGems pribadi, repositori publik paling umum digunakan untuk Gems management.

Repositori publik membantu pengguna menemukan gems yang ingin mereka install, menyelesaikan dependensi, dan menginstalnya secara otomatis dengan perintah tertentu. Berikut ini adalah contoh installasi Gems

install gem nama_gem

Umumnya suatu gem disusun dalam format struktur seperti berikut ini :

  1. ├── nama_gem.gemspec
  2. ├── bin
  3. │ ├── console
  4. │ └── setup
  5. ├── Gemfile
  6. ├── lib
  7. │ ├── nama_gem
  8. │ │ └── version.rb
  9. │ └── nama_gem.rb
  10. ├── Rakefile
  11. ├── README.md
  12. └── test
  13. ├── nama_gem_test.rb
  14. |–test_helper.rb

Perintah .gemspec bisa kamu gunakan untuk mencari tahu informasi detail perihal Gem yang kamu install. Untuk lebih lengkapnya, kamu bisa mengunjungi https://rubygems.org/gems.

Keuntungan Menggunakan Program Ruby

Program Ruby dikenal sangat User friendly, Fleksibel, serta cepat untuk dikuasai karena framework favoritnya yakni Rails menggunakan konsep arsitektur MVC, Tapi bukan itu saja, berikut ini adalah keuntungan lain jika kamu menggunakan program ruby pada Project applikasi yang kamu bangun :

  • Hemat waktu –  Ruby on Rails memiliki banyak plugin dan modul yang siap untuk kamu pakai, yang memungkinkan pengembang untuk tidak membuang waktu menulis kode boilerplate. Terbukti bahwa tim RoR membangun aplikasi 30–40% lebih cepat daripada tim yang menggunakan bahasa dan framework pemrograman lain.
  • Konsisten – Pengembang mengikuti penyimpanan file dan konvensi pemrograman standar yang membuat proyek terstruktur dan mudah dibaca. Ini juga menghemat banyak waktu.
  • Ramah Biaya – Ruby on Rails adalah Framework berbasis Open Source yang didistribusikan di bawah lisensi MIT, yang berarti kamu tidak perlu mengeluarkan uang sedikitpun untuk bisa menggunakan Program Ruby maupun Rails. Gems pada Ruby memungkinkan kamu untuk menambahkan fitur tanpa mengembangkannya dari awal lagi, sehingga kamu dapat menghemat banyak waktu dan tenaga pengembang juga.  Kamu dapat mendownloadnya secara gratis dari GitHub, sebuah platform tempat developer saling membagikan code open source mereka.
  • Object Oriented Language – Di Ruby, semua adalah obyek. Setiap informasi dan kode bisa diberi property dan action. Pemrograman berorientasi obyek memanggil property dengan nama variabel instan dan action, yang disebut sebagai metode. Pendekatan murni berorientasi obyek terutama terlihat pada demonstrasi sedikit kode yang diberikan pada number.

Di banyak bahasa-bahasa lain, number dan tipe primitif bukan obyek. Ruby mengikuti pengaruh bahasa Smalltalk dengan memberikan metode dan variabel instan pada semua tipe. Ini memudahkan menggunakan Ruby, karena peraturan-peraturan mengenai obyek semua berlaku pada Ruby.

  • Fleksibel – Ruby dianggap sebagai bahasa yang fleksibel, karena bagian-bagian dari Ruby bisa diubah-ubah dengan bebas. Bagian-bagian yang esensi di Ruby bisa dihapus maupun didefinisikan ulang. Bagian-bagian yang sudah ada bisa ditambahkan. Ruby mencoba untuk tidak membatasi programmer.

Sumber : medium.com

Pertanyaan Terkait Ruby :

  • Cara Install Program Ruby
  • Cara Membuat Project di Ruby
  • Manfaat Menguasai Program Ruby
  • Pengertian ActiveRecord
  • Cara Membuat Authentication Pada Ruby

About the author

Avatar photo

Techfor Id

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