Tuesday, August 27, 2013

Mixins Modules : Ruby Programming


Mixins Modules

Merupakan gabungan dari beberapa modules di dalam suatu module. Misalkan kita memiliki sebuah module yang didalamnya terdapat beberapa modules lagi. Karena module dapat menampung module juga, tidak hanya bisa menampung variabel, konstanta, method dan class saja.

Yang dimaksud dengan mixins modules adalah seperti contoh berikut ini :

module A
  module A1
    def A1a

    end
  end
  module A2
    def A2a

    end
  end
end

Module A diatas memiliki modules lain di dalamnya, itulah yang dimaksud dengan mixins modules.

Let's share :)

Modules : Ruby Programming


Modules - Ruby Programming

Merupakan tempat disatukannya berbagai macam method, class dan konstanta. Bertujuan agar kita tidak melakukan penulisan koding berulang-ulang, sehingga kita hanya perlu memanggil atau include module tersebut di dalam file. File yang memanggil module tersebut nantinya akan dapat memanggil apa saja yang terdapat di dalam module tersebut.

Cara pembuatan module tidak berbeda jauh dengan pembuatan class. Perbedaan hanya terdapat pada awalan deklarasi yaitu dengan menggunakan module bukan class. Contoh :

module Student
  statement1
  statement2
  ..........
end

Module konstanta diberi nama sesuai dengan class konstanta, yaitu dengan menggunakan huruf besar. Method-method didalamnya sama saja seperti kita membuat method di dalam sebuah class.

Untuk memanggil file module tersebut kita hanya perlu menggunakan perintah "require" kemudian diikuti oleh nama file module nya tersebut. Bisa dengan cara menambahkan ekstensi file nya ataupun tidak. Contoh :

require "Student.rb"
require "Teacher"

Kemudian untuk menambahkan method nya ke dalam suatu class bisa menggunakan perintah "include" dan diikuti oleh nama module nya saja. Contoh :

include "Student"

Pada penggunaannya, module tersebut tidak dapat dimasukkan ke dalam variabel object. Module ini dapat digunakan secara langsung tanpa harus dimasukkan ke dalam variabel terlebih dahulu. Contoh module student memiliki method study dan dipanggil dalam suatu method dalam class maka cara penggunaanya adalah :

puts Student::study

Kemudian jika kita ingin menjalankan method method yang terdapat di dalam module tersebut kita hanya perlu memanggil method tersebut secara langsung. Contoh :

Student.study

Susah susah gampang mengenai modules pada ruby ini. Jika memiliki sumber atau referensi lain silahkan berbagi disini.
Let's share :)

Unless Condition : Ruby Programming

Unless Condition - Ruby Programming

Merupakan salah satu bagian dari pembuatan kondisi juga dalam bahasa pemrograman Ruby. Unless ini akan menjalankan suatu kondisi yang kebalikannya (atau yang artinya : jika tidak).

Contoh kita memiliki variabel bernama x yang bernilai 1. Kemudian membuat sebuah kondisi dengan menggunakan unless, jika variabel x bernilai tidak lebih dari 2 maka tampilkan pesan "Nilai x lebih kecil dari 2". Dan jika x bernilai lebih besar dari dua maka tampilkan pesan "Nilai x lebih besar dari 2".

Berikut kode program nya :

x = 1

unless x > 2
  print "Nilai x lebih kecil dari 2"
else
  print "Nilai x lebih besar dari 2"
end

Simpel bukan?? hehe ..
Let's share :)

Switch Case Condition : Ruby Programming

Switch Case Condition - Ruby Programming

Merupakan salah satu bagian dalam bahasa pemrograman Ruby atau beberapa bahasa pemrograman lain yang digunakan untuk membandingkan suatu kondisi. Sebenarnya dalam hal fungsi sama saja seperti if else, akan tetapi dalam penggunaannya mungkin bisa lebih baik bila diterapkan dalam suatu kasus. Misalkan untuk menghindari nested if yang terlalu banyak.

Berikut merupakan contoh penggunaan switch case condition pada bahasa pemrograman Ruby :

name = "Didier Drogba"

case name
  when "Didier Drogba"
    print "Hello Legend!"
  when "Frank Lampard"
    print "Hello Super Frank"
  when "John Terry"
    print "Hello Captain"
  else
    print "Hello Chelsea Fans"
end

Pada coding diatas kita memiliki sebuah variabel bernama name yang berisi string Didier Drogba. Kemudian terdapat sebuah statement case yang dimana merupakan proses dibuatnya suatu perbandingan terhadap variabel name tadi. Berikutnya terdapat baris kode "when" yang menyatakan ketika string name tadi isi nya sama dengan string yang disebutkan pada when disini. Jika kondisi bernilai benar maka block kode yang terdapat didalamnya lah yang akan di eksekusi.

Jika semua kondisi yang terdapat pada when tidak ada yang sesuai dengan string yang terdapat di dalam variabel name maka statement yang terdapat pada block else lah yang akan dijalankan.

Let's share :)

Monday, August 26, 2013

If Else Condition : Ruby Programming

If Else Condition - Ruby Programming

Pada setiap bahasa pemrograman pasti akan selalu ditemui pembuatan kondisi atau suatu keputusan. Karena aplikasi atau program merupakan kumpulan kondisi-kondisi atau keputusan-keputusan yang digabungkan untuk mencapai suatu tujuan.

Yang akan dibahas kali ini adalah mengenai penggunaan kondisi If - Else. Kondisi If - Else ini tidak akan asing lagi bagi para programmer karena dimanapun pasti ditemui, mungkin yang berbeda adalah pada penulisan kode program nya saja, secara umum sama saja.

Berikut contoh penggunaan kondisi If :

if nilai == 100
  print "Selamat, nilai Anda sempurna"
end

Jika variabel nilai lebih dari 100 maka akan menjalankan statement yg berada di dalam block if tersebut yaitu menampilkan teks "Selamat, nilai Anda sempurna" ke dalam layar. Simpel sekali.

Selanjutnya ada kondisi Else, berikut contohnya :

if nilai == 100
  print "Selamat, nilai Anda sempurna"
else
  print "Maaf, nilai Anda tidak sempurna"
end

Pada coding diatas terdapat sebuah kondisi baru yaitu else, yang dimana apabila kondisi yg terdapat pada if bernilai salah maka apa yang terdapat pada block else yang akan dieksekusi, yaitu menampilkan teks "Maaf, nilai Anda tidak sempurna".

Selain if dan else, ada juga kondisi else if. Yaitu apabila kita memiliki kondisi lebih dari satu. Else if ini disingkat menjadi elsif. Contoh :

if nilai == 100
  print "Selamat, nilai Anda sempurna"
elsif nilai > 80
  print "Selamat, nilai Anda cukup sempurna"
else
  print "Maaf, nilai Anda tidak sempurna"
end

Jika nilai bukan sama dengan 100, maka akan di cek pada kondisi kedua yaitu apakah nilai lebih besar dari 80? jika iya, maka akan dijalankan statement yg terdapat pada block elsif tersebut.

Kondisi if else pada bahasa pemrograman Ruby ini memiliki kelebihan dibanding penggunaan if else pada bahasa pemrograman lain, yaitu dalam hal penulisan koding. Pada bahasa pemrograman Ruby dapat ditulis seperti berikut :

name = "Lampard"
print "Hello" if name == "Lampard" # kondisi if ditulis di akhir 

Kesimpulannya, kondisi if else ini dibuat untuk mengambil suatu keputusan pada sebuah aplikasi atau program. Bila kita memiliki satu kondisi cukup gunakan if saja, bila memiliki dua kondisi bisa menggunakan if - else atau if - elsif. Kemudian jika semua kondisi bernilai salah, masukkan statement di dalam block else.

Let's share :)

Overloading : Ruby Programming

Overloading - Ruby Programming

Merupakan method dengan nama yang sama dengan method lain pada suatu class tetap dengan parameter berbeda. Tujuan dibuatnya overloading yaitu memudahkan penggunaan method dengan fungsi yang hampir sama.

Berikut merupakan contoh overloading pada Ruby :

class Hello
  def say_hello
    puts "Hello there"
  end

  def say_hello(n)
    puts "Hello, #{n}"
  end
end

Contoh diatas merupakan contoh overloading method yang terdapat pada class yang sama. Sehingga jika kita hanya memanggil method say_hello saja (tanpa satu parameter) maka akan menampilkan hasil "Hello there" saja. Berbeda lagi jika kita memanggil method say_hello akan tetapi dengan menambahkan sebuah parameter. Contoh :

hello = Hello.new
hello.say_hello("Lampard") # Hello, Lampard

Maka akan menjalankan method say_hello yang memiliki sebuah parameter.

Overloading ini pun berlaku juga untuk suatu class yang merupakan keturunan dari class lain. Inti dari overloading ini adalah setiap pemanggilan suatu method akan selalu disesuaikan dengan kesamaannya. Method yang sama dan sesuai parameter nya maka akan dijalankan.

Begitulah sedikit penjelasan mengenai Overloading pada bahasa pemrograman ruby.
Let's share :)

Overriding : Ruby Programming

Overriding - Ruby Programming

Merupakan sebuah metode yang digunakan dalam bahasa pemrograman OOP dalam hal pemanggilan method dari sebuah class yang memiliki keturunan dari parent nya (membingungkan yah bahasanya -__-). Ok, langsung saja kita buat sebuah contoh. Kita memiliki dua buah class, yang pertama merupakan class parent dan satu lagi class children yang merupakan keturunan dari class parent. Langsung lihat saja contohnya dibawah ini :

class Parent
  def say_hello
    puts "hello from parent"
  end
end 

class Children < Parent
  def say_hello
    puts "holla from children"
  end
end

Kemudian kita lakukan percobaan seperti berikut ini :

child = Children.new
child.say_hello # holla from children

Disana terdapat dua buah method dengan nama yang sama, yaitu method "say_hello". class Parent dan class Children memiliki method tersebut. Akan tetapi mengapa method "say_hello" milik class Children yang dieksekusi ? kemudian class Children merupakan keturunan dari class Parent, bagaimana tuh ?

Kita tidak perlu bingung, karena alur kerja interpreter pada proses ini adalah dengan cara mencari method tersebut pertama kali di dalam class yang dijadikan object (yaitu class Children), jika method tersebut dimiliki oleh class Children maka method tersebut lah yang dieksekusi.

Nah, jika method "say_hello" tersebut tidak ditemukan di dalam class Children maka interpreter akan mengecek apakah class Children tersebut merupakan keturunan dari class lain, jika benar maka method tersebut akan dicari di dalam class parent nya. Contoh disini maka akan dicari di dalam class Parent, jika method ditemukan maka method "say_hello" yang berada di class Parent yang akan dieksekusi.

Jika masih tidak ditemukan saja, maka interpreter akan mengecek kembali apakah class Parent tersebut merupakan keturunan dari class lain. Jika tidak maka yaa akan ditampilkan pesan bahwa method tidak dikenal.

Begitulah singkat mengenai tutorial Overriding pada Ruby.
Let's share :)