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.suaranyaUntuk 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,
sangat bermanfaat :)
BalasHapus