Mengenal Ruby

Sekarang lagi ngetrend ngomomgin Ruby ni sama tementemen kelas (Ian & Riezan) *selingan diantara maen PES2010*:mrgreen:. Ternyata memang sangat menarik, karena syntaxnya lebih ringkas dan manusiawi dari bahasa pemrograman lain, hehe.

Ruby adalah bahasa pemrograman scripting yang berorientasi obyek. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa-bahasa pemrograman scripting yang ada di dunia. Ruby ditulis dengan bahasa pemrograman C dengan kemampuan dasar seperti Perl dan Python.

Sejarah Ruby.

Ruby pertama kali dibuat oleh seorang programmer Jepang bernama Yukihiro Matsumoto. Pada tahun 1993 Yukihiro ingin membuat sebuah bahasa pemrograman scripting yang memiliki kemampuan orientasi obyek. Pada saat itu pemrograman berorientasi obyek sedang berkembang tetapi belum ada bahasa pemrograman scripting yang mendukung pemrograman obyek.

Penulisan Ruby dimulai pada Februari 1993 dan pada Desember 1994 dirilis versi alpha dari Ruby. Pada awal perkembangan Ruby, Yukihiro menulis Ruby sendiri sampai pada tahun 1996 sudah terbentuk komunitas Ruby yang banyak mengontribusikan perkembangan Ruby.

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 yang akan diluncurkan bulan Oktober 2007.

Kelebihan Ruby.

  • Sintaks sederhana.
  • Memiliki exception handling yang baik.
  • Bahasa Pemrograman Berorientasi Objek.
  • Mengusung konsep single inheritance.
  • Open source, siapa saja dapat menggunakannya dengan cuma-cuma dan dapat ikut berpartisipasi mengembangkannya.
  • Memiliki garbage collector yang secara otomatis akan menghapus informasi tak terpakai dari memori.

OS yang didukung.

  • Linux
  • Microsoft Windows 95/98/XP/NT/2000/2003/Vista
  • MacOS X v10.5 Leopard
  • BeOS
  • OS/2
  • Unix
  • Amiga
  • MorphOS
  • Acorn RISC OS
  • Syllable
  • Symbian OS

Sekilas tentang Ruby.

Variable.

Berbeda dengan bahasa pemrograman seperti C dan Java, di dalam Ruby kita dapat langsung mendefinisikan sebuah variable tanpa menentukan tipenya, seperti di PHP. Anda dapat mencobanya langsung melalui irb (Interactive Ruby. Bisa digunakan untuk mempelajari Ruby tanpa harus membuat file .rb terlebih dahulu. Bisa dijalankan dengan mengeksekusi perintah irb pada console).

$irb> a = 2
$irb> b = 2
$irb> a + b

$=> 4

Bukan hanya tipe data numeric, anda juga bisa membuat tipe data string secara langsung.

$irb> a = “hehe”
$irb> a.length

$=> 4

$irb> a.reverse

$=> “eheh”

$irb> a

$=> “hehe”

Di dalam Ruby kita mengenal istilah symbol. Symbol ini akan sering sekali anda temui di dalam Rails. Sering digunakan sebagai semacam konstanta pengganti string.

$irb> a = :test
$irb> a != :test

$=> false

$irb> a == :test

$=> true

Symbol ini bisa dibilang lebih hemat memori dibandingkan dengan String. Di dalam Ruby kita akan sering menemukan symbol dalam sebuah pemanggilan method. Selain itu kita juga akan sering menggunakan symbol sebagai sebuah key dalam hash. Kedua hal ini sering membuat bingung orang-orang yang pertama kali mempelajari Ruby.

Array dan Hash.

Bagi anda yang sudah akrab dengan pemrograman pasti sudah mengenal apa yang dimaksud dengan array dan hash. Di dalam Ruby saya bisa mengatakan bahwa array sangat terkait dengan simbol [] sedangkan hash dengan {}. Mengapa? Karena memang itulah salah satu cara untuk menginisialisasi array dan hash.

$irb> a = []
$=> []

$irb> a = Array.new

$=> []

$irb> a = [47, 77, 17]

$=> [47, 77, 17]

$irb> a << 107

$=> [47, 77, 17, 107]

$irb> a.length

$=> 4

$irb> a.sort

$=> [17, 47, 77, 107]

Pada contoh diatas terlihat bahwa kita bisa juga melakukan inisialisasi array dengan memanggil method new(). Selanjutnya kita bisa menambahkan elemen pada array dengan menggunakan operator <<. Berbeda dengan array, pada hash kita memiliki pasangan key dan value. Sebagaimana yang telah saya sebutkan sebelumnya, dalam Ruby hash ini seringkali dipakai sebagai parameter dalam pemanggilan sebuah method.

$irb> a = {}
$=> {}

$irb> a = Hash.new

$=> {}

$irb> a = {:keren => “abis”}

$=> {:keren => “abis”}

$irb> a[:manthab] = “jaya”

$=> “jaya”

$irb> a[:keren]

$=> “abis”

$irb> a[:manthab]

$=> “jaya”

Kita juga bisa melakukan hal yang sebaliknya sebaimana yang terlihat pada contoh berikut ini.

$irb> a[“keren”] = :jaya
$=> :jaya

$irb> a

$=> {:keren=>"abis", "keren"=>:jaya, :manthab=>"jaya"}

Sama seperti array kita bisa menggunakan method length() untuk melihat jumlah data yang ada di dalam hash.

$irb> a.length
$=> 3

Controle Structure.

Sekarang kita akan mempelajari control structure di Ruby. Sampai sini kita sebenarnya masih bisa menggunakan irb. Namun agar lebih jelas dan mudah dimengerti kita akan membuat sebuah file Ruby bernama coba1.rb.

a = ARGV[0].to_iif a > 7

puts "#{a} lebih besar dari 7"

elsif a < 7

puts "#{a} lebih kecil dari 7"

else

puts "#{a} sama dengan 7"

end

Perhatikan bahwa Ruby mengenali elsif bukan else if. Pada kode diatas kita melakukan substitusi nilai a di dalam tanda kutip dengan cara “#{a}”. Sekarang coba jalankan program di atas dan masukkan nilai sembarang sebagai argumen.

$ruby coba1.rb 8$8 lebih besar dari 7

Kita akan sering menggunakan looping di dalam aplikasi kita. Salah satu caranya adalah dengan menggunakan for. Sekarang mari kita buat file baru coba2.rb yang di dalamnya kita isi dengan code berikut:

for i in 1..10 doputs "#{i}"

end

Ketika dijalankan, program ini akan mencetak angka 1 sampain dengan 10 ke layar. Selain for kita juga bisa menggunakan while untuk melakukan looping. Berikut ini adalah contoh penggunaannya dalam file coba3.rb

i = 1while i <= 10

puts i

i = i + 1

end

Ketika dieksekusi program ini akan memberikan output yang sama dengan coba2.rb.

Method.

Sebuah method dideklarasikan dengan menggunakan keyword def dan diakhiri dengan end. Sebagai contoh buatlah file baru coba4.rb.

def coba_method(name)puts "coba #{name}"

end

a = "Jaya!"

coba_method(a)

coba_method("Dunks!")

Ketika dieksekusi, program diatas akan mengahasilkan output sebagai berikut:

coba Jaya!coba Dunks!

Untuk me-return sebuah nilai, kita hanya perlu menuliskan nilai (atau variable) tersebut di dalam method.

def kali_dua(nilai_awal)kali_dua = nilai_awal * 2

kali_dua

end

kali_dua = kali_dua(4)

puts "kali dua #{kali_dua}"

Hasil eksekusi dari program ini adalah:

kali dua 8

Sebenarnya bisa saja kita menggunakan keyword return untuk mereturn sebuah nilai dari method. Namun, di sini saya hanya ingin menunjukkan alternatif dari cara tersebut.

Classes.

Deklarasi sebuah kelas dimulai dengan class dan diakhiri dengan end. Sebagai contoh kita akan membuat sebuah kelas Mahasiswa pada file mahasiswa.rb.

class Mahasiswadef initialize(nama, npm)

@nama = nama

@nim = nim

end

def cetak_info

puts "Nama: #{@nama}"

puts "NIM: #{@nim}"

end

end

Instance variable dari sebuah kelas dideklarasikan dengan ‘@’ yang akan membuatnya bisa diakses oleh semua instance method yang ada di kelas tersebut. Namun instance variable tersebut tidak akan bisa diakses dari luar kelas. Untuk bisa melakukan itu kita perlu membuat accessor method. Tambahkan kedua method ini pada kelas Mahasiswa yang telah kita buat.

def nama=(nama_baru)@nama = nama_baru

end

def nama

@nama

end

Anda bisa menguji method ini dengan melakukan pemanggilan method seperti dibawah ini.

mhs = Mahasiswa.new("Si Bocung","1203000439")mhs.cetak_info

mhs.nama = "Si Bocah" # mengubah nama menjadi Si Bocah

mhs.cetak_info

nama = mhs.nama # method ini akan mereturn Si Bocah sebagai nama

puts nama

Namun untuk mendefinisikan method setter dan getter bagi setiap variable adalah pekerjaan yang melelahkan. Oleh karena itu Ruby menyediakan method attr_accessor() untuk memudahkan kita.

class Mahasiswaattr_accessor :nim

attr_accessor :nama

Selain accessor method ada lagi yang akan sering anda temukan di Rails, yaitu class method.

def self.whatamiputs “Saya Mahasiswa”

end

Method ini diakses dengan diawali oleh nama kelasnya.

Mahasiswa.whatami     # akan mencetak Saya Mahasiswa

Tutorial Ruby.

http://tryruby.hobix.com

http://poignantguide.net/ruby/

http://www.ruby-lang.org/

thx 4 reading😀

2 thoughts on “Mengenal Ruby

  1. wuih… malem minggu jalan2 menelusuri dunia maya nemu info keren.. tapi kelas berat bo.. cuma kuat baca judul n paragraf pertama,..
    kunjungan balik ditunggu, sudah disediakan makanan..

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s