1. Sejarah
Ruby pertama kali dibuat oleh seorang programmer Jepang bernama Yukihiro Matsumoto. Penulisan Ruby dimulai pada February 1993 dan pada Desember 1994 dirilis versi alpha dari ruby. Pada awal perkembangan Ruby, Yukihiro meulis Ruby sendiri sampai pada tahun 1996 terbentuk komunitas Ruby yang banyak mengkotribusikan Ruby.
Ruby adalah bahasa pemrogaman scripting yang berorientasi objek. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa pemrogaman scripting yang ada di dunia. Ruby ditulis dengan bahasa C dengan kemampuan dasar seperti Perl dan Phyton.
2. Aplikasi bahasa ruby
Implementasi besar Ruby pada JRuby dan Rubinius
Ruby dapat diterapkan pada teknologi Asynchronous JavaScript dan XML (AJAX). -
Ruby on Rails untuk membuat framework web
3. Kelebihan dan Kekurangan
Kelebihan:
a. Sintaks sederhana
b. Memiliki Exception Handling yang baik -
c. OOP
d. Single inheritance
e. Didukung oleh OS Linux, Windows, MacOS X, OS/2, BeOs, dan Unix.
f. Merupakan bahasa pemrograman scripting yang berorientasi objek
g. Memiliki garbage collector yang secara otomatis akan menghapus
informasi tak terpakai dari memori
Kelemahan :
Multithreading.
- Implementasi thread di ruby masih berupa green thread, bukan native thread. Hal ini membuat aplikasi GUI (desktop) dengan background thread tidak mungkin diimplementasikan di ruby.
-Virtual Memory, ruby masih fully interpreted sehingga program ruby cenderung lebih lambat.
-Spek. saat ini spesifikasi ruby (syntax, behaviour, dll) adalah implementasi ruby yang asli dari matz IDE.
- Saat ini kualitas IDE untuk ruby masih jauh daripada .net dan java. Tapi dengan bermunculnya IDE ruby yang dibuat dengan java.net, kondisinya agak berubah. Tapi karena ruby bahasa yang sangat dinamis, sulit untuk bisa mendapatkan informasi secara lengkap mengenai struktur sebuah program ruby secara statis.
Contoh sintaks
if 0
puts “0 is true”
else
puts “0 is false”
end
MENGENAL RUBY LEBIH JAUH….
Pengenalan ini tidak dianjurkan untuk dibaca oleh kamu2 yang berasal dari jurusan ekonomi, hukum, politik, pertanian, kehutanan, design, teknik sipil, public relation, agama, psikologi, kedokteran, apalagi sastra, dan lain2 tmn2nya. Dianjurkan untuk dibaca oleh anak2 FASILKOM serta teman2nya. Hal ini dikarenakan content yang terdapat pada pengenalan ini banyak mencamtumkan istilah2 yang sangat FASILKOM sekali, dan hanya bisa diunderstand, serta didecrypt mungkin, oleh mereka2 yang telah bergaul dengan layar monitor minimal selama 1 semester dengan khusyuk.
Arti dari Ruby dalam kamus Encarta ® nya Microsoft :
1. red gemstone: a red precious stone that is a form of corundum. Use: jewelry, manufacture of watches, precision instruments.
2. deep red: a deep glowing purplish red color like that of a ruby
Jadi Ruby secara harfiah, etimologis, atau apalah, berarti suatu batu mulia merah, perhiasan yang sangat berharga, memancarkan sinar berkilau, (blink2 gitu lah).
Jadi pentingnya apa saya menjelaskan disini mengenai Ruby ? mau jualan batu mulia ? (terserah penting gak penting)
Ruby merupakan suatu bahasa pemograman yang cukup populer di Japan saat ini. Secara yang buat juga orang Japan gitu loh. Yukihiro Matsumoto, a.k.a. “Matz’’ (It’s time for Asian people to conquer the world!). Ruby merupakan bahasa scripting (like shell script, perl, python) namun juga merupakan bahasa pemograman sesungguhnya dengan Object Oriented sekali yang kuat serta penulisan syntax yang elegan sangat. Pengguna yang telah terbiasa dengan C++ atau Java, bahkan akan merasa Cemburu :p (im not pretend to compare them). (Btw hubungannya sama batu merah mulia tadi apaan ?)
Sejarah singkatnya Ruby adalah dimulai ketika Matz yang maniak OOP ingin mencari bahasa yang suit buat scripting yg berbasis OOP, namun dia tidak menemukannya, cuma ada perl dan python, that was exactly not a true OOP. And then dia memutuskan buat bahasa baru (masya4JJI sumpah saya gak bisa buat bahasa baru) yg lebih powerfull dari perl dan lebih OOP dari python. (halahhh.. python jenis ular, lalu perl itu jenis batu mulia atau binatang ? )
Pertama2 untuk bisa kenalan dengan Ruby pastinya harus melakukan installasi terlebih dahulu. Untuk pengguna Windows, you can download a One-Click Ruby Installer here
gampang kok, tinggal download, lalu double clik, jadi deh. Untuk memeriksa apakah udah ke install dengan bener atau belum, ketik saja perintah ini pada command prompt : ruby -v
Kalau menggunakan Linux, biasanya udah ada paket2 dari distribusi Linux tsb, mis : untuk ubuntu tinggal gunakan perintah apt-get, lihat lagi ke reporsitory masing2 distribusi linuxnya, dan Untuk Mac OSX udah di include (asyiiiknya mereka)
Lalu apa yang terjadi ketika anda gagal menginstallnya ? atau koneksi internet anda diblok untuk download ? atau anda tidak memiliki memiliki komputer dan hanya bermain diwarnet ? atau anda tidak mempunyai uang untuk membeli CD nya di toko2 ? atau membaca saja anda sulit ? hahaahaa..
Coba yang ini saja dulu http://tryruby.hobix.com nah dari situs tsb anda bisa langsung coba deh Ruby, ada tutorial singkatnya juga, “Ruby in your Browser”
Penulisan variable di Ruby seperti di PHP tidak perlu didefenisikan typenya namun dpat langsung mengenalinya tergantung input yang diberikan. Just a simple..
Tipe2 dasar dari variable di Ruby adalah : Numbers, Strings, Arrays, Hashes, Symbosl, Ranges dan Regular Expressions
Numbers and Strings
Ok, mari bermain2 dengan Ruby, melalui Interactive Ruby. Buka command prompt dan ketik : irb
C:\Documents and Settings\irfani>irb
irb(main):001:0> a = 10
=> 10
irb(main):002:0> b = 20
=> 20
irb(main):003:0> a+b
=> 30
irb(main):004:0>
irb(main):004:0> string = “Bermain – main dengan Ruby”
=> “Bermain – main dengan Ruby”
irb(main):005:0> string.length
=> 26
irb(main):006:0> string.reverse
=> “ybuR nagned niam – niamreB”
irb(main):007:0> string.index(”B”)
=> 0
Ruby is a true OOP language isn’t it ?
When a variable di assign suatu nilai maka variable tersebut segera bertype sesuai dengan inputannya. Dan variable tsb is an object. You can call its method, seperti contoh diatas string.length, string.index
Arrays dan Hashes
Masih pada irb (Interactive Ruby)
Penulisan array pada Ruby just simple like this :
irb(main):008:0> arraynih = [1,”aja-aja ada”, “yahuu”, “gugel”, 10]
=> [1, “aja-aja ada”, “yahuu”, “gugel”, 10]
irb(main):009:0> arraynih[1]
=> “aja-aja ada”
irb(main):010:0> arraynih.length
=> 5
To create an empty new Array :
irb(main):011:0> empty = []
=> []
irb(main):012:0> empty1 = Array.new
=> []
And again Array is an object, anda dapat memanggil method sperti length, sort, dll, baca doc nya Ruby.
Nil not Null !
irb(main):013:0> arraynih[3] = nil
=> nil
Untuk membuat suatu index dari array bernilai kosong, gunakan nill not null ! wat is it ? nil is actually an object too. And Ruby recognize it, jadi gak bakal ada error yang menyatakan “null pointer error” (cape.. deh.. ketawa2 liat Java)
irb(main):014:0> string = %w{ satu dua tiga empat lima }
=> [”satu”, “dua”, “tiga”, “empat”, “lima”]
irb(main):015:0> string[3]
=> “empat”
irb(main):016:0> string[2]
=> “tiga”
Pusing pun hilang dari otak anda, I believe that u usually have to write double quote and comma for each of string element of your array. In Ruby just use %w, dan masalah itupun tak menghinggap dikepala, elegant sekali bukan ?
Untuk hash, terdiri dari key dan value,
irb(main):027:0> hashSaya = {
irb(main):028:1* ’satu’ => ’satu’,
irb(main):029:1* ‘dua’ => ‘dua’,
irb(main):030:1* 3 => ‘tiga’,
irb(main):031:1* 4 => ‘empat’}
=> {”satu”=>”satu”, “dua”=>”dua”, 3=>”tiga”, 4=>”empat”}
irb(main):032:0> hashSaya[’satu’]
=> “satu”
irb(main):033:0> hashSaya[3]
=> “tiga”
Apaakah pusing anda sudah sembuh ?
Symbol
Symbol merupakan representasi dari suatu string. Jujur saja saya sendiri masih bingung mengenai fungsi dan perbedaan mendasar dari symbol ini, namun biasanya symbol ini digunakan sebagai key dari suatu hash.
Penulisannya adalah sebagai berikut :
:symbol1
:symbol2
Impelementasi pada hash :
irb(main):034:0> hash2 = {:satu => 1, :dua=> 2}
=> {:dua=>2, :satu=>1}
irb(main):035:0> hash2[:satu]
=> 1
Sama aja sih hasilnya seperti hash biasa. Mungkin ini dilakukan agar penulisannya lebih keren dan lebih teratur aja kali ya.. jadi tau kalo ada tanda “:” (colon) berarti key dari hash …
Ranges
Dalam arti Indonesianya merupakan suatu jarak dari sesuatu ke sesuatu yang lainnya.
Langsung aja contohnya :
irb(main):036:0> rangesnih = 1..10
=> 1..10
irb(main):037:0> rangesnih.max
=> 10
irb(main):038:0> rangesnih.min
=> 1
Diatas contoh suatu ranges yang memiliki nilai dari 1 hingga 10, lagi2 ranges ini juga merupakan suatu object (everything is an object). Call the method max and it return the max value of the ranges
Juga bisa digunakan untuk perulangan :
irb(main):039:0> rangesnih.each do |i|
irb(main):040:1* puts i
irb(main):041:1> end
1
2
3
4
5
6
7
8
9
10
=> 1..10
Or, if you want to convert ranges into array :
irb(main):047:0> arr = rangesnih.to_a
=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
irb(main):048:0> arr[1]
=> 2
irb(main):049:0> arr1 = (’abc’..’abf’).to_a
=> [”abc”, “abd”, “abe”, “abf”]
irb(main):050:0> arr1[3]
=> “abf”
Regular Expression
Digunakan untuk melakukan pencocokan suatu set pattern dengan string tertentu.
Penulisannya dapat dilakukan dengan cara :
irb(main):051:0> a = Regexp.new(’^\s*[a-z]’)
=> /^\s*[a-z]/
irb(main):052:0> b = /^\s*[a-z]/
=> /^\s*[a-z]/
irb(main):053:0> c = %r{^s*[a-z]}
=> /^s*[a-z]/
So there r three ways to initialize Regular Expression
1. Regexexp.new(‘pattern’)
2. /pattern/
3. %r{pattern}
Pattern matching :
irb(main):054:0> a = “test doang”
=> “test doang”
irb(main):055:0> a =~ /o/
=> 6
irb(main):056:0> a !~ /o/
=> false
Operator “=~” digunakan untuk membandingkan pattern dengan string apakah benar, jika true maka di return posisinya pada string.
Sedangkan operator “!~” menyatakan tidak sama dengan pattern, contoh diatas menghasilkan false karena “o” ada pada string.
Struktur Kontrol
Seleksi
If condition
Action
Elseif condition1
Action1
Else
ActionElese
end
masa yang ini juga minta dijelasin !! (keterlaluan huh..)
case [target]
when [comparison1]
action1
when [comparison2]
action2
[ else
body ]
end
[target] merupakan variable yang dijadikan sasaran seleksi
[comparison] merupakan nilai yang diberikan untuk dibandingkan dengan variable target jika true maka dijalankan.
[else] digunakan sebagai default action jika tidak ada yg true dari comparison
Perulangan
Menggunakan for :
for [varname] in [collection] do
action
end
[varname] merupakan nama variable yang akan digunakan sebagai nilai dari masing2 collection
[collection] merupakan suatu set nilai yang akan di iterate hingga selesai oleh for
Contoh :
irb(main):065:0> a = 1..10
=> 1..10
irb(main):066:0> for i in a do
irb(main):067:1* puts i
irb(main):068:1> end
1
2
3
4
5
6
7
8
9
10
=> 1..10
Menggunakan while-until :
while expression do
action
end
until expression do
action
end
perbedaan dari kedua model perualangan diatas adalah, while melakukan perulangan selama expression bernilai true, sedangkan until melakukan perulangan selama expression bernilai false.
Dalam perulangan jika biasanya ada break dan continue, maka di Ruby ada break dan next, fungsinya sama aja.
sumber
http://id.wikipedia.org/wiki/Ruby_%28bahasa_pemrograman%29