Pengaturan

Gambar

Lainnya

Tentang KASKUS

Pusat Bantuan

Hubungi Kami

KASKUS Plus

© 2024 KASKUS, PT Darta Media Indonesia. All rights reserved

radenkampretAvatar border
TS
radenkampret
Mengenal dan Mengetahui Kelebihan Bahasa Pemrograman Ruby
Ruby adalah bahasa pemrograman dinamis berbasis skrip yang berorientasi obyek. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa-bahasa pemrograman skrip yang ada di dunia. Ruby ditulis dengan bahasa pemrograman C dengan kemampuan dasar seperti Perl dan Python. Kalian heran kan mengapa Ruby sangat populer? Penggemar Ruby menyebut Ruby sebagai bahasa yang cantik dan artistik. Mereka juga menyebut Ruby praktis dan mudah. Terus apa lagi?

Idealisme Pencipta Ruby
Ruby merupakan bahasa yang seimbang. Pencipta Ruby, [url=http://www.rubyist.net/~matz/]Yukihiro “Matz” Matsumoto[/url], menggabungkan bagian-bagian dari bahasa-bahasa favorit beliau (Perl, Smalltalk, Eiffel, Ada dan Lisp) untuk membentuk bahasa baru yang seimbang antara pemrograman fungsional dengan pemrograman imperatif.
Matz sering menyebutkan bahwa beliau sedang “mencoba membuat Ruby natural, bukan sederhana,” dengan cara membuatnya mirip dengan kehidupan nyata.
Berprinsip pada hal ini, Matz menambahkan:
"Penampilan Ruby dari luar sederhana, tetapi sangat rumit di bagian dalam, seperti badan manusia kita ini1."

Tentang Perkembangan Ruby
Sejak Ruby pertama kali dirilis ke publik pada tahun 1995, banyak programmer profesional dari seluruh dunia serius ikut mengembangkan Ruby. Pada tahun 2006, Ruby diterima oleh banyak orang. Dengan komunitas pengguna Ruby yang aktif di banyak kota-kota di seluruh dunia dan konferensi-konferensi beserta pertemuan Ruby terkait.
Ruby-Talk, milis utama untuk diskusi Ruby (dalam bahasa Inggris) telah mencapai kisaran 200 email setiap hari.
TIOBE index, yang menghitung perkembangan bahasa-bahasa pemrograman, menempatkan Ruby pada peringkat ke 10 diantara bahasa-bahasa pemrograman di seluruh dunia. Melihat pada perkembangan ini, mereka memperkirakan, “Kesempatan Ruby memasuki peringkat atas 10 besar adalah dalam waktu setengah tahun.” Kebanyakan dari perkembangan Ruby beratribut pada terkenalnya software yang ditulis dengan Ruby, terutama framework web Ruby on Rails.
Ruby juga sepenuhnya bebas. Tidak hanya gratis, tetapi juga bebas untuk menggunakan, memodifikasi dan mendistribusikan Ruby.

Melihat Semua sebagai Obyek
Pertama kali, Matz melihat bahasa-bahasa lain untuk mencari sintaks yang ideal. Terkenang pencariannya, Matz berkata, “Saya mau bahasa scripting yang lebih hebat daripada Perl dan lebih berorientasi obyek daripada Python2.”
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.
PHP Code:
5.times { print "Kami *cinta* Ruby -- Ruby sungguh aduhai!" 

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.

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.
Misalnya, penambahan dilakukan dengan operator plus (
PHP Code:


). Tetapi, jika Anda ingin menggunakan kata 
PHP Code:
plus 

 yang lebih mudah dibaca, maka Anda dapat menambahkan metode tersebut pada kelas builtin 
PHP Code:
Numeric 

.
Code:
[php]class Numeric
 def plus(x)
   self.+(x)
 end
end

y = 5.plus 6
# y sekarang adalah 11[/php]

Demi kemudahan, operator-operator Ruby adalah juga metode. Anda juga
bisa mendefinisikan ulang operator.

Blok, Fitur yang sungguh Ekspresif
Blok Ruby juga dianggap sebagai sumber kekuatan Ruby yang sangat
fleksibel. Programmer dapat menyertakan closure pada setiap metode,
menjelaskan bagaimana metode yang bersangkutan seharusnya berperilaku.
Closure disebut blokdan telah menjadi satu diantara banyak
fitur-fitur Ruby yang paling populer pada banyak pendatang baru Ruby
dari bahasa-bahasa imperatif lain seperti PHP atau Visual Basic.
Blok terinspirasi dari bahasa-bahasa fungsional. Matz berkata, “Saya
ingin menghormati kultur Lisp di closure Ruby[url=#fn3]3[/url].”
Code:
[php]search_engines =
 %w[Google Yahoo MSN].map do |engine|
   "http://www." + engine.downcase + ".com"
 end[/php]

Pada kode diatas, blok dijelaskan dalam bentuk
PHP Code:
do ... end 

. Metode
PHP Code:
map 

memberlakukan blok agar menerima array kata-kata (Google, Yahoo
dan MSN). Banyak metode-metode lain di Ruby dibiarkan mempunyai hole
yang dibuka untuk programmer agar menulis blok mereka sendiri untuk
mengisi dengan lebih lengkap apa saja yang seharusnya sebuah metode
lakukan.

Ruby dan Mixin
Tidak seperti banyak bahasa-bahasa berorientasi obyek lain, Ruby hanya
menyediakan single inheritance dengan sengaja. Tetapi Ruby
mengetahui konsep module (disebut sebagai Categories di Objective-C).
Module merupakan kumpulan dari metode-metode.
Kelas dapat me-mixin (menggabungkan) sebuah module dan menerima semua
metode-metode (dari module yang bersangkutan) dengan bebas. Contoh,
setiap kelas yang mengimplementasikan metode
PHP Code:
each 

bisa mixin module
PHP Code:
Enumerable 

, yang menambahkan banyak metode-metode yang menggunakan
PHP Code:
each 

untuk melakukan perulangan.
Code:
[php]class MyArray
 include Enumerable
end[/php]

Secara umum, Rubyist menganggap ini sebagai cara yang lebih
jelas ketimbang multiple inheritance, yang rumit dan bahkan terlalu
membatasi.
 
Tampilan Ruby secara Visual
Ruby jarang menggunakan tanda baca dan biasanya cenderung menggunakan
keyword berbahasa Inggris, biasanya beberapa tanda baca digunakan untuk
memperjelas kode Ruby
Ruby tidak perlu deklarasi variabel. Ruby menggunakan aturan penamaan
yang mudah untuk menyatakan scope suatu variabel.
  • PHP Code:
    var 

  • adalah variabel lokal.
  • PHP Code:
    @var 

  • adalah variabel instan.
  • PHP Code:
    $var 

  • adalah variabel global.

Sigil-sigil tersebut bertujuan untuk memudahkan dan memperjelas
ketika dibaca bagi programmer untuk mengidentifikasi fungsi dari setiap
variabel. Sigil juga bisa menjadi hal yang tidak perlu bila harus
digunakan pada setiap member instan
PHP Code:
self


Langkah Selanjutnya
Ruby kaya fitur, antara lain sebagai berikut:
  • Ruby memiliki fitur-fitur yang menangani exception, seperti Java atau
  • Python, untuk mempermudah menangani error.
  • Ruby menyediakan mark-and-sweep garbage collector untuk semua obyek
  • Ruby. Tidak perlu me-maintain reference count pada library extension.
  • Seperti yang Matz katakan, “Ini lebih baik untuk kesehatan Anda.”
  • Menulis extension C di Ruby lebih mudah daripada di Perl ataupun di
  • Python, dengan API yang elegan untuk memanggil Ruby dari C. Ini
  • termasuk memanggil Ruby embedded di software, untuk digunakan sebagai
  • bahasa scripting. Interface SWIG juga tersedia.
  • Ruby bisa load library extension secara dinamis jika Sistem Operasi
  • mengijinkan.
  • Ruby menyediakan fitur OS threading yang independent. Maka, untuk
  • semua platform dimana Ruby berjalan, Anda juga punya multithreading,
  • terlepas dari apakah Sistem Operasi mendukung multithreading atau
  • tidak, bahkan pada MS-DOS sekalipun!
  • Ruby sangat portable: Ruby kebanyakan dikembangkan di GNU/Linux,
  • tetapi juga berjalan di banyak tipe UNIX, Mac OS X,
  • Windows, DOS, BeOS, OS/2, dan lain-lain.

Implementasi Lain dari Ruby
Ruby, sebagai sebuah bahasa, memiliki beberapa implementasi yang berbeda.
Halaman ini telah mendiskusikan referensi implementasi, di dalam
komunitas sering disebut sebagai MRI (“Matz’s Ruby Interpreter”)
atau CRuby (karena ditulis dalam bahasa C), tetapi ada juga bahasa lainnya.
Mereka sangat bermanfaat pada situasi tertentu, menyediakan integrasi
dengan bahasa atau lingkungan lainnya, atau memiliki fitur khusus
yang tidak dimiliki oleh MRI.
Berikut ini daftarnya:
  • JRuby adalah Ruby yang berjalan di atas JVM (Java Virtual Machine),
  • memanfaatkan optimisasi JIT compiler-nya JVM, garbage collector,
  • concurrent thread, tool ecosystem, dan kumpulan pustaka yang luas.
  • Rubinius adalah ‘Ruby written in Ruby’. Dibuat di atas LLVM,
  • Rubinius memakai sebuah virtual machine yang bagus yang bahasa lainnya
  • sedang dibuat di atasnya, juga.
  • MacRuby adalah Ruby yang sangat terintegrasi erat dengan pustaka
  • Apple Cocoa untuk Mac OS X, memperbolehkan Anda untuk memprogram aplikasi
  • desktop dengan mudah.
  • mruby adalah sebuah implementasi lightweight dari bahasa Ruby
  • yang dapat dihubungkan dan ditanamkan dengan sebuah aplikasi.
  • IronRuby adalah sebuah implementasi “tightly integrated with
  • the .NET Framework”.
  • MagLev adalah “a fast, stable, Ruby implementation with integrated
  • object persistence and distributed shared cache”.
  • Cardinal adalah “Ruby compiler for Parrot Virtual
  • Machine” (Perl 6).

Referensi
1 Matz, berbicara di milis Ruby-Talk, 12 Mei 2000.
2 Matz, An Interview with the Creator of Ruby,
(Wawancara dengan Pencipta Ruby, dalam Bahasa Inggris), 29 November
2001.
3 Matz, Blocks and Closures in Ruby, (Blok dan Closure
di Ruby, dalam Bahasa Inggris), 22 Desember 2003.
 
Nah begitulah rincian singkat mengenai bahasa pemrograman ruby. Banyak orang pun berkata jika bahasa ini penuh nilai estetik dan manusiawi. Apa benar? Coba mulai dari sekarang sob!
Sekian dari artikel saya, semoga hal yang saya bagikan bermanfaat bagi kalian semua. Dan juga jika merasa bermanfaat kalian dapat bagikan artikel ini ke saudara atau teman dekat kalian.
 
0
2.9K
0
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Komunitas Pilihan