Rabu, 21 Maret 2012

Struktur Program Ruby

Buat penggemar OOP, pasti tidak akan asing dgn postingan kali ini... Postingan ini sya peruntukkan bgi para pemula (contoh yg bnar2 dasar) yg ingin menjelajahi dunia OOP Ruby si Pemrograman Berbasis Objek.. Utk struktur percabangan, perulangan pda Ruby sya lewatkan saya... Krena hmpir mirip dgn kebanyakan sintaks lainnya...


Walopun Ruby adl bhasa pemrograman berbasis objek sepenuhnya, dia juga bisa ditulis sperti kode prosedural (seperti contoh2 yg sya pakai dlam postingan tipe data)... Anda bsa bekerja dgn program Ruby walopun tidak ad object, class, ato method. Sekarang sya akan menjelaskn ttg Method, Class, dan Modul..




-----------------------------------------METHOD------------------------------------
Method di Ruby di definisikan dgn keyword def.. dan diikuti dgn nama dri method itu sendiri dan parameter yg diterimanya (kalo ada) di antara tanda kurung. Method diakhiri dgn keyword end. Sintaks method berada di antara def dan end
def kuadrat(n)
 n * n
end
puts "Hasil dari method kuadrat di mana n = 6"
puts kuadrat(6)


-----------------------------------------CLASS---------------------------------------
Class di Ruby didefinisikan dgn keyword class. Nama class ini diawali dgn huruf besar dan konsep camelCase diterapkan kalo nama class lebih dri satu kata (misalkan --> PesananDetail).. Class juga diakhiri dgn keyword end.
class Mahasiswa
      def pakaian
  "baju batik"
      end
end 

#inisiasi class menggunakan method new
mhs = Mahasiswa.new
puts mhs.pakaian #ga perlu tanda kurung karena ga make parameter


Karena OOP jdi class di Ruby juga bisa berupa subclassed dgn mmakai inheritance. Sintaks bwt subclass adl tanda kurang dari (<).. Seperti class SubMahasiswa < Mahasiswa .. Berikut contoh penggunaannya,
class Mahasiswa
 def kuliah
  puts "#{self.class} sedang mengikuti perkuliahan"
 end
end

class ProdiTi < Mahasiswa
 def kuliah
  puts "#{self.class} mempelajari tentang penerapan Teknologi Informasi"
 end
end 

class Elektro < Mahasiswa
 def kuliah
  puts "#{self.class} mempelajari tentang Power, Telekomunikasi, Elektronika"
 end
end

ti = ProdiTi.new
ti.kuliah #apa yang dipelajari mahasiswa TI
tro = Elektro.new
tro.kuliah #apa yang dipelajari mahasiswa elektro


---------------------------------------MODULE--------------------------------------------
Module punya kedudukan yg lebih tinggi, sama seperti class sebuah module adl koleksi dri method dan variabel. Tapi, sebuah module bisa berisi bnyak class yg mmiliki bnyak method dan variabel tersendiri. Beda dgn class, module ga bisa diinstansikan dan mreka ga bisa di sub-class-kan krena mreka ga punya hirarki.
Module di definisikan dgn keyword module dan penamaanny seperti nama class juga diakhiri dgn keyword end.
module Hewan
  class Ayam
 def bersuara
    "kukuruyuuukkk"
 end
  end
  
  class Kucing
 def bersuara
  "meoongggg"
 end
  end
end


Contoh di atas adl module, dan yg di bawah ini merupakan class yg akan memanggil module tersebut,
$LOAD_PATH << "D:/contoh_modul"

require "hewan"

class Kalkun < Hewan::Ayam
 def suaranya
  bersuara #tanda kurung opsional; bersuara() juga dapat digunakan
 end
end

class Anggora < Hewan::Kucing
 def suaranya
  bersuara
 end
end

class KucingRumah < Hewan::Kucing
 def suaranya
  "rraaawwwrrr"
 end
end


Siayam = Kalkun.new
puts "Si ayam berbunyi " + Siayam.suaranya

Pussy = Anggora.new
puts "Pussy berbunyi " + Pussy.suaranya

Meng = KucingRumah.new
puts "Meng berbunyi " + Meng.suaranya
Untuk pemanggilan module sya gunakan $LOAD_PATH, jdi module dan sintaks di atas sya tempatkan dalam satu folder yg namanya contoh_modul.. kalo module terletak di folder yg terpisah gunakan sja require "nama path serta nama file nya"...


Ok, sekian pengenalan struktur program Ruby... Yang penting paham konsep dasarnya aja buat ngelanjut ke tahap yg lebih expert...


Salam,







1 komentar: